home *** CD-ROM | disk | FTP | other *** search
/ Skunkware 5 / Skunkware 5.iso / man / cat.n / canvas.n < prev    next >
Text File  |  1995-07-25  |  111KB  |  1,774 lines

  1.  
  2.  
  3.  
  4.      ccccaaaannnnvvvvaaaassss((((nnnn))))                    TTTTkkkk (((( ))))                     ccccaaaannnnvvvvaaaassss((((nnnn))))
  5.  
  6.  
  7.  
  8.      _________________________________________________________________
  9.  
  10.      NNNNAAAAMMMMEEEE
  11.           canvas - Create and manipulate canvas widgets
  12.  
  13.      SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  14.           ccccaaaannnnvvvvaaaassss _p_a_t_h_N_a_m_e ?_o_p_t_i_o_n_s?
  15.  
  16.      SSSSTTTTAAAANNNNDDDDAAAARRRRDDDD OOOOPPPPTTTTIIIIOOOONNNNSSSS
  17.           bbbbaaaacccckkkkggggrrrroooouuuunnnndddd      iiiinnnnsssseeeerrrrttttBBBBoooorrrrddddeeeerrrrWWWWiiiiddddtttthhhh              rrrreeeelllliiiieeeeffffxxxxSSSSccccrrrroooollllllllCCCCoooommmmmmmmaaaannnndddd
  18.           bbbboooorrrrddddeeeerrrrWWWWiiiiddddtttthhhh     iiiinnnnsssseeeerrrrttttOOOOffffffffTTTTiiiimmmmeeee  sssseeeelllleeeeccccttttBBBBaaaacccckkkkggggrrrroooouuuunnnnddddyyyySSSSccccrrrroooollllllllCCCCoooommmmmmmmaaaannnndddd |
  19.           ccccuuuurrrrssssoooorrrr          iiiinnnnsssseeeerrrrttttOOOOnnnnTTTTiiiimmmmeeee   sssseeeelllleeeeccccttttBBBBoooorrrrddddeeeerrrrWWWWiiiiddddtttthhhh              |
  20.           iiiinnnnsssseeeerrrrttttBBBBaaaacccckkkkggggrrrroooouuuunnnndddd               iiiinnnnsssseeeerrrrttttWWWWiiiiddddtttthhhh     sssseeeelllleeeeccccttttFFFFoooorrrreeeeggggrrrroooouuuunnnndddd|
  21.  
  22.           See the ``options'' manual entry for details on the standard
  23.           options.
  24.  
  25.      WWWWIIIIDDDDGGGGEEEETTTT----SSSSPPPPEEEECCCCIIIIFFFFIIIICCCC OOOOPPPPTTTTIIIIOOOONNNNSSSS
  26.           Name:           cccclllloooosssseeeeEEEEnnnnoooouuuugggghhhh
  27.           Class:          CCCClllloooosssseeeeEEEEnnnnoooouuuugggghhhh
  28.           Command-Line Switch:----cccclllloooosssseeeeeeeennnnoooouuuugggghhhh
  29.  
  30.                Specifies a floating-point value indicating  how  close
  31.                the  mouse  cursor  must  be  to  an  item before it is
  32.                considered to be ``inside'' the item.  Defaults to 1.0.
  33.  
  34.           Name:           ccccoooonnnnffffiiiinnnneeee                                       |
  35.           Class:          CCCCoooonnnnffffiiiinnnneeee                                       |
  36.           Command-Line Switch:----ccccoooonnnnffffiiiinnnneeee                                  |
  37.  
  38.                                                                              ||
  39.                Specifies a boolean value that indicates whether or not  |
  40.                it should be allowable to set the canvas's view outside  |
  41.                the   region  defined  by  the  ssssccccrrrroooollllllllRRRReeeeggggiiiioooonnnn  argument.  |
  42.                Defaults to true, which means that  the  view  will  be  |
  43.                constrained within the scroll region.
  44.  
  45.           Name:           hhhheeeeiiiigggghhhhtttt
  46.           Class:          HHHHeeeeiiiigggghhhhtttt
  47.           Command-Line Switch:----hhhheeeeiiiigggghhhhtttt
  48.  
  49.                Specifies a  desired  window  height  that  the  canvas
  50.                widget  should  request from its geometry manager.  The
  51.                value may be specified in any of the forms described in
  52.                the COORDINATES section below.
  53.  
  54.           Name:           ssssccccrrrroooollllllllIIIInnnnccccrrrreeeemmmmeeeennnntttt
  55.           Class:          SSSSccccrrrroooollllllllIIIInnnnccccrrrreeeemmmmeeeennnntttt
  56.           Command-Line Switch:----ssssccccrrrroooolllllllliiiinnnnccccrrrreeeemmmmeeeennnntttt
  57.  
  58.                Specifies  a  distance   used   as   increment   during
  59.                scrolling:   when  one  of  the  arrow  buttons  on  an
  60.  
  61.  
  62.  
  63.      Page 1                                          (printed 7/23/95)
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.      ccccaaaannnnvvvvaaaassss((((nnnn))))                    TTTTkkkk (((( ))))                     ccccaaaannnnvvvvaaaassss((((nnnn))))
  71.  
  72.  
  73.  
  74.                associated scrollbar is pressed, the picture will shift
  75.                by this distance.  The distance may be specified in any
  76.                of the  forms  described  in  the  COORDINATES  section
  77.                below.
  78.  
  79.           Name:           ssssccccrrrroooollllllllRRRReeeeggggiiiioooonnnn
  80.           Class:          SSSSccccrrrroooollllllllRRRReeeeggggiiiioooonnnn
  81.           Command-Line Switch:----ssssccccrrrroooollllllllrrrreeeeggggiiiioooonnnn
  82.  
  83.                Specifies a list with four coordinates  describing  the
  84.                left,   top,   right,   and  bottom  coordinates  of  a
  85.                rectangular region.  This region is used for  scrolling
  86.                purposes  and  is  considered to be the boundary of the
  87.                information in the canvas.  Each of the coordinates may
  88.                be   specified  in  any  of  the  forms  given  in  the
  89.                COORDINATES section below.
  90.  
  91.           Name:           wwwwiiiiddddtttthhhh
  92.           Class:          wwwwiiiiddddtttthhhh
  93.           Command-Line Switch:----wwwwiiiiddddtttthhhh
  94.  
  95.                Specifies a desired window width that the canvas widget
  96.                should  request  from  its geometry manager.  The value
  97.                may be specified in any of the forms described  in  the
  98.                COORDINATES section below.
  99.      _________________________________________________________________
  100.  
  101.  
  102.      IIIINNNNTTTTRRRROOOODDDDUUUUCCCCTTTTIIIIOOOONNNN
  103.           The ccccaaaannnnvvvvaaaassss command  creates  a  new  window  (given  by  the
  104.           _p_a_t_h_N_a_m_e  argument)  and  makes  it  into  a  canvas widget.
  105.           Additional options, described above, may be specified on the
  106.           command  line or in the option database to configure aspects
  107.           of the canvas such as its colors and 3-D relief.  The ccccaaaannnnvvvvaaaassss
  108.           command  returns  its  _p_a_t_h_N_a_m_e  argument.  At the time this
  109.           command is invoked, there must  not  exist  a  window  named
  110.           _p_a_t_h_N_a_m_e, but _p_a_t_h_N_a_m_e's parent must exist.
  111.  
  112.           Canvas widgets  implement  structured  graphics.   A  canvas
  113.           displays  any  number  of  _i_t_e_m_s,  which  may be things like
  114.           rectangles,  circles,  lines,  and  text.   Items   may   be
  115.           manipulated  (e.g.  moved or re-colored) and commands may be
  116.           associated with items in much the same  way  that  the  bbbbiiiinnnndddd
  117.           command  allows  commands  to  be  bound  to  widgets.   For
  118.           example, a particular command may  be  associated  with  the
  119.           <Button-1>  event  so  that  the command is invoked whenever
  120.           button 1 is pressed with the  mouse  cursor  over  an  item.
  121.           This means that items in a canvas can have behaviors defined
  122.           by the Tcl scripts bound to them.
  123.  
  124.  
  125.      DDDDIIIISSSSPPPPLLLLAAAAYYYY LLLLIIIISSSSTTTT
  126.  
  127.  
  128.  
  129.      PPPPaaaaggggeeee 2222                                          ((((pppprrrriiiinnnntttteeeedddd 7777////22223333////99995555))))
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.      ccccaaaannnnvvvvaaaassss((((nnnn))))                    TTTTkkkk (((( ))))                     ccccaaaannnnvvvvaaaassss((((nnnn))))
  137.  
  138.  
  139.  
  140.           The items in a canvas are ordered for purposes  of  display,
  141.           with  the  first  item  in  the display list being displayed
  142.           first, followed by the next item in the  list,  and  so  on.
  143.           Items  later  in  the  display  list  obscure those that are
  144.           earlier in the display list and are sometimes referred to as
  145.           being  ``on  top''  of  earlier  items.   When a new item is
  146.           created it is placed at the end of the display list, on  top
  147.           of  everything  else.   Widget  commands  may be used to re-
  148.           arrange the order of the display list.
  149.  
  150.  
  151.      IIIITTTTEEEEMMMM IIIIDDDDSSSS AAAANNNNDDDD TTTTAAAAGGGGSSSS
  152.           Items in a canvas widget may be named in either of two ways:
  153.           by  id or by tag.  Each item has a unique identifying number
  154.           which is assigned to that item when it is created.   The  id
  155.           of  an  item  never changes and id numbers are never re-used
  156.           within the lifetime of a canvas widget.
  157.  
  158.           Each item may also have any number of _t_a_g_s  associated  with
  159.           it.   A  tag is just a string of characters, and it may take
  160.           any form except that of an integer.  For  example,  ``x123''
  161.           is  OK  but  ``123''  isn't.  The same tag may be associated
  162.           with many different items.  This is commonly done  to  group
  163.           items   in  various  interesting  ways;   for  example,  all
  164.           selected items might be given the tag ``selected''.
  165.  
  166.           The tag aaaallllllll is implicitly associated with every item in  the
  167.           canvas;   it  may  be  used  to invoke operations on all the
  168.           items in the canvas.
  169.  
  170.           The tag ccccuuuurrrrrrrreeeennnntttt is managed automatically by Tk;  it  applies
  171.           to  the  _c_u_r_r_e_n_t _i_t_e_m, which is the topmost item whose drawn
  172.           area covers the position of the mouse cursor.  If the  mouse
  173.           is  not in the canvas widget or is not over an item, then no
  174.           item has the ccccuuuurrrrrrrreeeennnntttt tag.
  175.  
  176.           When specifying items in  canvas  widget  commands,  if  the
  177.           specifier  is  an integer then it is assumed to refer to the
  178.           single item with that  id.   If  the  specifier  is  not  an
  179.           integer,  then it is assumed to refer to all of the items in
  180.           the canvas that have a  tag  matching  the  specifier.   The
  181.           symbol  _t_a_g_O_r_I_d  is  used below to indicate that an argument
  182.           specifies either an id that selects a single item or  a  tag
  183.           that  selects zero or more items.  Some widget commands only
  184.           operate on a single item at a time;  if _t_a_g_O_r_I_d is specified
  185.           in a way that names multiple items, then the normal behavior
  186.           is for the command to use the first (lowest) of these  items
  187.           in  the  display  list  that  is  suitable  for the command.
  188.           Exceptions are noted  in  the  widget  command  descriptions
  189.           below.
  190.  
  191.  
  192.  
  193.  
  194.  
  195.      Page 3                                          (printed 7/23/95)
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.      ccccaaaannnnvvvvaaaassss((((nnnn))))                    TTTTkkkk (((( ))))                     ccccaaaannnnvvvvaaaassss((((nnnn))))
  203.  
  204.  
  205.  
  206.      CCCCOOOOOOOORRRRDDDDIIIINNNNAAAATTTTEEEESSSS
  207.           All coordinates related to canvases are stored as  floating-
  208.           point  numbers.   Coordinates and distances are specified in
  209.           screen units, which are  floating-point  numbers  optionally
  210.           followed  by  one  of  several  letters.   If  no  letter is
  211.           supplied then the distance is in pixels.  If the letter is mmmm
  212.           then the distance is in millimeters on the screen;  if it is
  213.           cccc then the distance is in centimeters; iiii means inches, and pppp
  214.           means  printers  points  (1/72  inch).  Larger y-coordinates
  215.           refer to points lower on the screen;   larger  x-coordinates
  216.           refer to points farther to the right.
  217.  
  218.  
  219.      TTTTRRRRAAAANNNNSSSSFFFFOOOORRRRMMMMAAAATTTTIIIIOOOONNNNSSSS
  220.           Normally the origin of the canvas coordinate  system  is  at
  221.           the  upper-left  corner of the window containing the canvas.
  222.           It is possible to adjust the origin of the canvas coordinate
  223.           system  relative to the origin of the window using the xxxxvvvviiiieeeewwww
  224.           and yyyyvvvviiiieeeewwww widget  commands;   this  is  typically  used  for
  225.           scrolling.   Canvases  do not support scaling or rotation of
  226.           the  canvas  coordinate  system  relative  to   the   window
  227.           coordinate system.
  228.  
  229.           Indidividual items may  be  moved  or  scaled  using  widget
  230.           commands described below, but they may not be rotated.
  231.  
  232.  
  233.      IIIINNNNDDDDIIIICCCCEEEESSSS
  234.           Text items support the notion of an  _i_n_d_e_x  for  identifying
  235.           particular  positions within the item.  Indices are used for
  236.           commands  such  as  inserting  text,  deleting  a  range  of
  237.           characters,  and  setting the insertion cursor position.  An
  238.           index may be specified in any  of  a  number  of  ways,  and
  239.           different  types  of  items  may support different forms for
  240.           specifying indices.  Text items support the following  forms
  241.           for  an  index;  if you define new types of text-like items,
  242.           it would be advisable to support as many of these  forms  as
  243.           practical.   Note  that  it  is  possible  to  refer  to the
  244.           character just after the last one in the text item;  this is
  245.           necessary for such tasks as inserting new text at the end of
  246.           the item.
  247.  
  248.           _n_u_m_b_e_r    A  decimal  number  giving  the  position  of  the
  249.                     desired  character within the text item.  0 refers
  250.                     to the first character, 1 to the  next  character,
  251.                     and  so on.  A number less than 0 is treated as if
  252.                     it were zero, and a number greater than the length
  253.                     of the text item is treated as if it were equal to
  254.                     the length of the text item.
  255.  
  256.           eeeennnndddd       Refers to the character just after the last one in
  257.                     the  item (same as the number of characters in the
  258.  
  259.  
  260.  
  261.      Page 4                                          (printed 7/23/95)
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268.      ccccaaaannnnvvvvaaaassss((((nnnn))))                    TTTTkkkk (((( ))))                     ccccaaaannnnvvvvaaaassss((((nnnn))))
  269.  
  270.  
  271.  
  272.                     item).
  273.  
  274.           iiiinnnnsssseeeerrrrtttt    Refers to the  character  just  before  which  the  |
  275.                     insertion cursor is drawn in this item.
  276.  
  277.           sssseeeellll....ffffiiiirrrrsssstttt Refers to the  first  selected  character  in  the
  278.                     item.   If  the  selection isn't in this item then
  279.                     this form is illegal.
  280.  
  281.           sssseeeellll....llllaaaasssstttt  Refers to the last selected character in the item.
  282.                     If the selection isn't in this item then this form
  283.                     is illegal.
  284.  
  285.           @@@@_x,_y      Refers to the character at the point  given  by  _x
  286.                     and  _y,  where  _x  and  _y  are  specified  in  the
  287.                     coordinate system of the canvas.  If _x and  _y  lie
  288.                     outside  the coordinates covered by the text item,
  289.                     then they refer to the first or last character  in
  290.                     the line that is closest to the given point.
  291.  
  292.  
  293.      WWWWIIIIDDDDGGGGEEEETTTT CCCCOOOOMMMMMMMMAAAANNNNDDDD
  294.           The ccccaaaannnnvvvvaaaassss command creates a new Tcl command whose  name  is
  295.           _p_a_t_h_N_a_m_e.   This  command  may  be  used  to  invoke various
  296.           operations on the widget.   It  has  the  following  general
  297.           form:
  298.  
  299.                _p_a_t_h_N_a_m_e _o_p_t_i_o_n ?_a_r_g _a_r_g ...?
  300.           _O_p_t_i_o_n and the _a_r_gs determine  the  exact  behavior  of  the
  301.           command.   The  following  widget  commands are possible for
  302.           canvas widgets:
  303.  
  304.           _p_a_t_h_N_a_m_e aaaaddddddddttttaaaagggg _t_a_g _s_e_a_r_c_h_S_p_e_c ?_a_r_g _a_r_g ...?
  305.                For each item that meets the constraints  specified  by
  306.                _s_e_a_r_c_h_S_p_e_c  and  the  _a_r_gs, add _t_a_g to the list of tags
  307.                associated with the item if it isn't already present on
  308.                that  list.   It is possible that no items will satisfy
  309.                the constraints given by _s_e_a_r_c_h_S_p_e_c _a_n_d _a_r_gs, in  which
  310.                case  the  command has no effect.  This command returns
  311.                an empty string as result.  _S_e_a_r_c_h_S_p_e_c  and  _a_r_g's  may
  312.                take any of the following forms:
  313.  
  314.                aaaabbbboooovvvveeee _t_a_g_O_r_I_d
  315.                     Selects the item just after (above) the one  given
  316.                     by  _t_a_g_O_r_I_d  in  the  display  list.   If  _t_a_g_O_r_I_d
  317.                     denotes  more  than  one  item,  then   the   last
  318.                     (topmost)  of  these  items in the display list is
  319.                     used.
  320.  
  321.                aaaallllllll  Selects all the items in the canvas.
  322.  
  323.  
  324.  
  325.      Page 5                                          (printed 7/23/95)
  326.  
  327.  
  328.  
  329.  
  330.  
  331.  
  332.      ccccaaaannnnvvvvaaaassss((((nnnn))))                    TTTTkkkk (((( ))))                     ccccaaaannnnvvvvaaaassss((((nnnn))))
  333.  
  334.  
  335.  
  336.                bbbbeeeelllloooowwww _t_a_g_O_r_I_d
  337.                     Selects the item just before (below) the one given
  338.                     by  _t_a_g_O_r_I_d  in  the  display  list.   If  _t_a_g_O_r_I_d
  339.                     denotes  more  than  one  item,  then  the   first
  340.                     (lowest)  of  these  items  in the display list is
  341.                     used.
  342.  
  343.                cccclllloooosssseeeesssstttt _x _y ?_h_a_l_o? ?_s_t_a_r_t?
  344.                     Selects the item closest to the point given  by  _x
  345.                     and  _y.   If  more  than  one  item is at the same
  346.                     closest  distance  (e.g.  two  items  overlap  the
  347.                     point), then the top-most of these items (the last
  348.                     one in the display list)  is  used.   If  _h_a_l_o  is
  349.                     specified,  then  it must be a non-negative value.
  350.                     Any  item  closer  than  _h_a_l_o  to  the  point   is
  351.                     considered  to overlap it.  The _s_t_a_r_t argument may
  352.                     be used to step circularly through all the closest
  353.                     items.   If  _s_t_a_r_t  is specified, it names an item
  354.                     using a tag or id (if by tag, it selects the first
  355.                     item  in  the  display  list  with the given tag).
  356.                     Instead of selecting  the  topmost  closest  item,
  357.                     this  form  will  select  the topmost closest item
  358.                     that is below _s_t_a_r_t in the display  list;   if  no
  359.                     such item exists, then the selection behaves as if
  360.                     the _s_t_a_r_t argument had not been specified.
  361.  
  362.                eeeennnncccclllloooosssseeeedddd _x_1 _y_1 _x_2 _y_2
  363.                     Selects all the items completely  enclosed  within
  364.                     the  rectangular  region  given by _x_1, _y_1, _x_2, and
  365.                     _y_2.  _X_1 must be no greater then _x_2 and _y_1 must  be
  366.                     no greater than _y_2.
  367.  
  368.                oooovvvveeeerrrrllllaaaappppppppiiiinnnngggg _x_1 _y_1 _x_2 _y_2
  369.                     Selects all the items that overlap or are enclosed
  370.                     within the rectangular region given by _x_1, _y_1, _x_2,
  371.                     and _y_2.  _X_1 must be no greater then _x_2 and _y_1 must
  372.                     be no greater than _y_2.
  373.  
  374.                wwwwiiiitttthhhhttttaaaagggg _t_a_g_O_r_I_d
  375.                     Selects all the items given by _t_a_g_O_r_I_d.
  376.  
  377.           _p_a_t_h_N_a_m_e bbbbbbbbooooxxxx _t_a_g_O_r_I_d ?_t_a_g_O_r_I_d _t_a_g_O_r_I_d ...?
  378.                Returns a list with four elements giving an approximate  |
  379.                bounding  box  for  all  the items named by the _t_a_g_O_r_I_d  |
  380.                arguments.  The list has the form ``_x_1 _y_1 _x_2 _y_2''  such  |
  381.                that  the  drawn  areas  of  all the named elements are  |
  382.                within the region bounded by _x_1 on the left, _x_2 on  the  |
  383.                right, _y_1 on the top, and _y_2 on the bottom.  The return  |
  384.                value may overestimate the actual bounding box by a few  |
  385.                pixels.  If no items match any of the _t_a_g_O_r_I_d arguments  |
  386.                then an empty string is returned.
  387.  
  388.  
  389.  
  390.  
  391.      Page 6                                          (printed 7/23/95)
  392.  
  393.  
  394.  
  395.  
  396.  
  397.  
  398.      ccccaaaannnnvvvvaaaassss((((nnnn))))                    TTTTkkkk (((( ))))                     ccccaaaannnnvvvvaaaassss((((nnnn))))
  399.  
  400.  
  401.  
  402.           _p_a_t_h_N_a_m_e bbbbiiiinnnndddd _t_a_g_O_r_I_d ?_s_e_q_u_e_n_c_e? ?_c_o_m_m_a_n_d?
  403.                This command associates  _c_o_m_m_a_n_d  with  all  the  items
  404.                given  by _t_a_g_O_r_I_d such that whenever the event sequence
  405.                given by _s_e_q_u_e_n_c_e occurs  for  one  of  the  items  the
  406.                command  will  be  invoked.   This  widget  command  is
  407.                similar to the bbbbiiiinnnndddd command except that it operates  on
  408.                items  in a canvas rather than entire widgets.  See the
  409.                bbbbiiiinnnndddd manual entry for complete details on the syntax of
  410.                _s_e_q_u_e_n_c_e  and  the  substitutions  performed on _c_o_m_m_a_n_d
  411.                before invoking it.  If  all  arguments  are  specified
  412.                then  a  new binding is created, replacing any existing
  413.                binding for the same _s_e_q_u_e_n_c_e and _t_a_g_O_r_I_d (if the first
  414.                character  of _c_o_m_m_a_n_d is ``+'' then _c_o_m_m_a_n_d augments an
  415.                existing binding rather than replacing  it).   In  this
  416.                case  the  return value is an empty string.  If _c_o_m_m_a_n_d
  417.                is  omitted  then  the  command  returns  the   _c_o_m_m_a_n_d
  418.                associated  with  _t_a_g_O_r_I_d and _s_e_q_u_e_n_c_e (an error occurs
  419.                if there is no such  binding).   If  both  _c_o_m_m_a_n_d  and
  420.                _s_e_q_u_e_n_c_e are omitted then the command returns a list of
  421.                all the sequences for which bindings have been  defined
  422.                for _t_a_g_O_r_I_d.
  423.  
  424.                The only events for which bindings may be specified are
  425.                those related to the mouse and keyboard, such as EEEEnnnntttteeeerrrr,
  426.                LLLLeeeeaaaavvvveeee, BBBBuuuuttttttttoooonnnnPPPPrrrreeeessssssss, MMMMoooottttiiiioooonnnn, and KKKKeeeeyyyyPPPPrrrreeeessssssss.  The handling
  427.                of  events in canvases uses the current item defined in
  428.                ITEM IDS  AND  TAGS  above.   EEEEnnnntttteeeerrrr  and  LLLLeeeeaaaavvvveeee  events
  429.                trigger for an item when it becomes the current item or
  430.                ceases to be the current item;  note that these  events
  431.                are  different than EEEEnnnntttteeeerrrr and LLLLeeeeaaaavvvveeee events for windows.
  432.                Mouse-related events are directed to the current  item,
  433.                if  any.   Keyboard-related  events are directed to the
  434.                focus item, if any (see the ffffooooccccuuuussss widget command  below
  435.                for more on this).
  436.  
  437.                It is possible for multiple commands to be bound  to  a
  438.                single  event  sequence  for  a  single  object.   This
  439.                occurs, for example, if one command is associated  with
  440.                the item's id and another is associated with one of the
  441.                item's tags.  When  this  occurs,  the  first  matching
  442.                binding  is  used.   A  binding  for  the item's id has
  443.                highest priority, followed by the oldest  tag  for  the
  444.                item  and  proceeding through all of the item's tags up
  445.                through the most-recently-added one.  If a  binding  is
  446.                associated  with  the  tag  aaaallllllll,  the binding will have
  447.                lower priority than all other bindings associated  with
  448.                the item.
  449.  
  450.           _p_a_t_h_N_a_m_e ccccaaaannnnvvvvaaaassssxxxx _s_c_r_e_e_n_x ?_g_r_i_d_s_p_a_c_i_n_g?
  451.                Given  a  screen  x-coordinate  _s_c_r_e_e_n_x  this   command
  452.                returns  the  canvas  x-coordinate that is displayed at
  453.                that location.  If _g_r_i_d_s_p_a_c_i_n_g is specified,  then  the
  454.  
  455.  
  456.  
  457.      Page 7                                          (printed 7/23/95)
  458.  
  459.  
  460.  
  461.  
  462.  
  463.  
  464.      ccccaaaannnnvvvvaaaassss((((nnnn))))                    TTTTkkkk (((( ))))                     ccccaaaannnnvvvvaaaassss((((nnnn))))
  465.  
  466.  
  467.  
  468.                canvas coordinate is rounded to the nearest multiple of
  469.                _g_r_i_d_s_p_a_c_i_n_g units.
  470.  
  471.           _p_a_t_h_N_a_m_e ccccaaaannnnvvvvaaaassssyyyy _s_c_r_e_e_n_y ?_g_r_i_d_s_p_a_c_i_n_g?
  472.                Given  a  screen  y-coordinate  _s_c_r_e_e_n_y  this   command
  473.                returns  the  canvas  y-coordinate that is displayed at
  474.                that location.  If _g_r_i_d_s_p_a_c_i_n_g is specified,  then  the
  475.                canvas coordinate is rounded to the nearest multiple of
  476.                _g_r_i_d_s_p_a_c_i_n_g units.
  477.  
  478.           _p_a_t_h_N_a_m_e ccccoooonnnnffffiiiigggguuuurrrreeee ????_o_p_t_i_o_n? ?_v_a_l_u_e? ?_o_p_t_i_o_n _v_a_l_u_e ...?
  479.                Query  or  modify  the  configuration  options  of  the
  480.                widget.   If  no  _o_p_t_i_o_n  is  specified, returns a list
  481.                describing all of the available  options  for  _p_a_t_h_N_a_m_e
  482.                (see  TTTTkkkk____CCCCoooonnnnffffiiiigggguuuurrrreeeeIIIInnnnffffoooo for information on the format of
  483.                this list).  If _o_p_t_i_o_n is specified with no _v_a_l_u_e, then
  484.                the  command  returns  a  list describing the one named
  485.                option  (this   list   will   be   identical   to   the
  486.                corresponding  sublist  of  the  value  returned  if no
  487.                _o_p_t_i_o_n is specified).   If  one  or  more  _o_p_t_i_o_n-_v_a_l_u_e
  488.                pairs  are  specified,  then  the  command modifies the
  489.                given widget option(s) to have the given value(s);   in
  490.                this  case the command returns an empty string.  _O_p_t_i_o_n
  491.                may have any of  the  values  accepted  by  the  ccccaaaannnnvvvvaaaassss
  492.                command.
  493.  
  494.           _p_a_t_h_N_a_m_e ccccoooooooorrrrddddssss _t_a_g_O_r_I_d ?_x_0 _y_0 ...?
  495.                Query or modify the coordinates that  define  an  item.  |
  496.                If no coordinates are specified, this command returns a  |
  497.                list whose elements are the  coordinates  of  the  item  |
  498.                named  by  _t_a_g_O_r_I_d.  If coordinates are specified, then  |
  499.                they replace the  current  coordinates  for  the  named  |
  500.                item.   If  _t_a_g_O_r_I_d  refers to multiple items, then the  |
  501.                first one in the display list is used.
  502.  
  503.           _p_a_t_h_N_a_m_e ccccrrrreeeeaaaatttteeee _t_y_p_e _x _y ?_x _y ...? ?_o_p_t_i_o_n _v_a_l_u_e ...?
  504.                Create a new item in _p_a_t_h_N_a_m_e of type _t_y_p_e.  The  exact
  505.                format of the arguments after ttttyyyyppppeeee depends on ttttyyyyppppeeee, but
  506.                usually they consist of the coordinates for one or more
  507.                points,  followed  by  specifications  for zero or more
  508.                item options.  See the subsections on  individual  item
  509.                types  below  for  more  on the syntax of this command.
  510.                This command returns the id for the new item.
  511.  
  512.           _p_a_t_h_N_a_m_e ddddcccchhhhaaaarrrrssss _t_a_g_O_r_I_d _f_i_r_s_t ?_l_a_s_t?
  513.                For each item given by _t_a_g_O_r_I_d, delete  the  characters
  514.                in  the  range  given by _f_i_r_s_t and _l_a_s_t, inclusive.  If
  515.                some of the items given by _t_a_g_O_r_I_d don't  support  text
  516.                operations,  then they are ignored.  _F_i_r_s_t and _l_a_s_t are
  517.                indices of characters within the item(s)  as  described
  518.                in  INDICES  above.  If _l_a_s_t is omitted, it defaults to
  519.                _f_i_r_s_t.  This command returns an empty string.
  520.  
  521.  
  522.  
  523.      Page 8                                          (printed 7/23/95)
  524.  
  525.  
  526.  
  527.  
  528.  
  529.  
  530.      ccccaaaannnnvvvvaaaassss((((nnnn))))                    TTTTkkkk (((( ))))                     ccccaaaannnnvvvvaaaassss((((nnnn))))
  531.  
  532.  
  533.  
  534.           _p_a_t_h_N_a_m_e ddddeeeelllleeeetttteeee ?_t_a_g_O_r_I_d _t_a_g_O_r_I_d ...?
  535.                Delete each of the items given  by  each  _t_a_g_O_r_I_d,  and
  536.                return an empty string.                                  |
  537.  
  538.           _p_a_t_h_N_a_m_e ddddttttaaaagggg _t_a_g_O_r_I_d ?tagToDelete?
  539.                For each of the items given by _t_a_g_O_r_I_d, delete the  tag
  540.                given  by _t_a_g_T_o_D_e_l_e_t_e from the list of those associated
  541.                with the  item.   If  an  item  doesn't  have  the  tag
  542.                _t_a_g_T_o_D_e_l_e_t_e then the item is unaffected by the command.
  543.                If _t_a_g_T_o_D_e_l_e_t_e is omitted then it defaults to  _t_a_g_O_r_I_d.
  544.                This command returns an empty string.
  545.  
  546.           _p_a_t_h_N_a_m_e ffffiiiinnnndddd _s_e_a_r_c_h_C_o_m_m_a_n_d ?_a_r_g _a_r_g ...?
  547.                This command returns a list consisting of all the items
  548.                that  meet  the  constraints specified by _s_e_a_r_c_h_C_o_m_m_a_n_d
  549.                and _a_r_g's.  _S_e_a_r_c_h_C_o_m_m_a_n_d and  _a_r_g_s  have  any  of  the
  550.                forms accepted by the aaaaddddddddttttaaaagggg command.
  551.  
  552.           _p_a_t_h_N_a_m_e ffffooooccccuuuussss ?_t_a_g_O_r_I_d?
  553.                Set the keyboard focus for the  canvas  widget  to  the
  554.                item  given  by  _t_a_g_O_r_I_d.  If _t_a_g_O_r_I_d refers to several
  555.                items, then the focus is set to the first such item  in
  556.                the  display  list  that supports the insertion cursor.
  557.                If _t_a_g_O_r_I_d doesn't refer to any items, or  if  none  of
  558.                them support the insertion cursor, then the focus isn't
  559.                changed.  If _t_a_g_O_r_I_d is an empty string, then the focus
  560.                item  is  reset  so  that  no  item  has the focus.  If
  561.                _t_a_g_O_r_I_d is not specified then the command  returns  the
  562.                id  for  the  item  that currently has the focus, or an
  563.                empty string if no item has the focus.
  564.  
  565.                Once the focus has been set to an item, the  item  will
  566.                display  the  insertion  cursor and all keyboard events
  567.                will be directed to that item.  The focus item within a
  568.                canvas and the focus window on the screen (set with the
  569.                ffffooooccccuuuussss command) are totally independent:  a  given  item
  570.                doesn't  actually  have  the input focus unless (a) its
  571.                canvas is the focus window and  (b)  the  item  is  the
  572.                focus  item  within  the  canvas.   In most cases it is
  573.                advisable to follow the ffffooooccccuuuussss widget command  with  the
  574.                ffffooooccccuuuussss command to set the focus window to the canvas (if
  575.                it wasn't there already).
  576.  
  577.           _p_a_t_h_N_a_m_e ggggeeeettttttttaaaaggggssss _t_a_g_O_r_I_d
  578.                Return a list whose elements are  the  tags  associated
  579.                with  the  item given by _t_a_g_O_r_I_d.  If _t_a_g_O_r_I_d refers to
  580.                more than one item, then the tags are returned from the
  581.                first  such  item  in  the  display  list.   If _t_a_g_O_r_I_d
  582.                doesn't refer to any items, or if the item contains  no
  583.                tags, then an empty string is returned.
  584.  
  585.           _p_a_t_h_N_a_m_e iiiiccccuuuurrrrssssoooorrrr _t_a_g_O_r_I_d _i_n_d_e_x
  586.  
  587.  
  588.  
  589.      Page 9                                          (printed 7/23/95)
  590.  
  591.  
  592.  
  593.  
  594.  
  595.  
  596.      ccccaaaannnnvvvvaaaassss((((nnnn))))                    TTTTkkkk (((( ))))                     ccccaaaannnnvvvvaaaassss((((nnnn))))
  597.  
  598.  
  599.  
  600.                Set the  position  of  the  insertion  cursor  for  the  |
  601.                item(s)  given  by _t_a_g_O_r_I_d to just before the character  |
  602.                whose position is given by _i_n_d_e_x.  If some  or  all  of  |
  603.                the  items  given by _t_a_g_O_r_I_d don't support an insertion  |
  604.                cursor then this command has no effect  on  them.   See  |
  605.                INDICES  above for a description of the legal forms for  |
  606.                _i_n_d_e_x.  Note:  the insertion cursor is  only  displayed  |
  607.                in  an  item  if  that  item currently has the keyboard  |
  608.                focus (see the widget command ffffooooccccuuuussss,  below),  but  the  |
  609.                cursor  position  may be set even when the item doesn't  |
  610.                have the focus.  This command returns an empty string.
  611.  
  612.           _p_a_t_h_N_a_m_e iiiinnnnddddeeeexxxx _t_a_g_O_r_I_d _i_n_d_e_x
  613.                This  command  returns  a  decimal  string  giving  the
  614.                numerical  index within _t_a_g_O_r_I_d corresponding to _i_n_d_e_x.
  615.                _I_n_d_e_x  gives  a  textual  description  of  the  desired
  616.                position  as  described  in  INDICES above.  The return
  617.                value is guaranteed to lie between 0 and the number  of
  618.                characters  within  the  item,  inclusive.   If _t_a_g_O_r_I_d
  619.                refers to multiple items, then the index  is  processed
  620.                in  the  first  of  these  items that supports indexing
  621.                operations (in display list order).
  622.  
  623.           _p_a_t_h_N_a_m_e iiiinnnnsssseeeerrrrtttt _t_a_g_O_r_I_d _b_e_f_o_r_e_T_h_i_s _s_t_r_i_n_g
  624.                For each of the items given by  _t_a_g_O_r_I_d,  if  the  item
  625.                supports  text  insertion  then _s_t_r_i_n_g is inserted into
  626.                the item's text just before the character  whose  index
  627.                is _b_e_f_o_r_e_T_h_i_s.  See INDICES above for information about
  628.                the forms allowed for _b_e_f_o_r_e_T_h_i_s.  This command returns
  629.                an empty string.
  630.  
  631.           _p_a_t_h_N_a_m_e iiiitttteeeemmmmccccoooonnnnffffiiiigggguuuurrrreeee _t_a_g_O_r_I_d  ?_o_p_t_i_o_n?  ?_v_a_l_u_e?  ?_o_p_t_i_o_n  _v_a_l_u_e
  632.                This command is similar to the ccccoooonnnnffffiiiigggguuuurrrreeee widget command
  633.                except that it modifies item-specific options  for  the
  634.                items given by _t_a_g_O_r_I_d instead of modifying options for
  635.                the overall canvas widget.  If no _o_p_t_i_o_n is  specified,
  636.                returns  a list describing all of the available options
  637.                for   the   first   item   given   by   _t_a_g_O_r_I_d    (see
  638.                TTTTkkkk____CCCCoooonnnnffffiiiigggguuuurrrreeeeIIIInnnnffffoooo  for information on the format of this
  639.                list).  If _o_p_t_i_o_n is specified with no _v_a_l_u_e, then  the
  640.                command  returns a list describing the one named option
  641.                (this list  will  be  identical  to  the  corresponding
  642.                sublist   of   the  value  returned  if  no  _o_p_t_i_o_n  is
  643.                specified).  If one  or  more  _o_p_t_i_o_n-_v_a_l_u_e  pairs  are
  644.                specified,  then  the command modifies the given widget
  645.                option(s) to have the given value(s)  in  each  of  the
  646.                items  given  by  _t_a_g_O_r_I_d;   in  this  case the command
  647.                returns an empty string.  The _o_p_t_i_o_ns  and  _v_a_l_u_es  are
  648.                the  same  as  those  permissible  in the ccccrrrreeeeaaaatttteeee widget
  649.                command when the item(s) were created; see the sections
  650.                describing  individual  item types below for details on
  651.                the legal options.
  652.  
  653.  
  654.  
  655.      Page 10                                         (printed 7/23/95)
  656.  
  657.  
  658.  
  659.  
  660.  
  661.  
  662.      ccccaaaannnnvvvvaaaassss((((nnnn))))                    TTTTkkkk (((( ))))                     ccccaaaannnnvvvvaaaassss((((nnnn))))
  663.  
  664.  
  665.  
  666.           _p_a_t_h_N_a_m_e lllloooowwwweeeerrrr _t_a_g_O_r_I_d ?_b_e_l_o_w_T_h_i_s?
  667.                Move all of  the  items  given  by  _t_a_g_O_r_I_d  to  a  new
  668.                position in the display list just before the item given
  669.                by _b_e_l_o_w_T_h_i_s.  If _t_a_g_O_r_I_d refers to more than one  item
  670.                then  all are moved but the relative order of the moved
  671.                items will not be changed.  _B_e_l_o_w_T_h_i_s is a tag  or  id;
  672.                if  it  refers  to  more  than  one item then the first
  673.                (lowest) of these items in the display list is used  as
  674.                the  destination  location  for  the moved items.  This
  675.                command returns an empty string.
  676.  
  677.           _p_a_t_h_N_a_m_e mmmmoooovvvveeee _t_a_g_O_r_I_d _x_A_m_o_u_n_t _y_A_m_o_u_n_t
  678.                Move each of the items given by _t_a_g_O_r_I_d in  the  canvas
  679.                coordinate  space by adding _x_A_m_o_u_n_t to the x-coordinate
  680.                of each point associated with the item and  _y_A_m_o_u_n_t  to
  681.                the  y-coordinate  of  each  point  associated with the
  682.                item.  This command returns an empty string.
  683.  
  684.           _p_a_t_h_N_a_m_e ppppoooossssttttssssccccrrrriiiipppptttt ?_o_p_t_i_o_n _v_a_l_u_e _o_p_t_i_o_n _v_a_l_u_e ...?
  685.                Generate a Postscript representation for part or all of  |
  686.                the  canvas.  If the ----ffffiiiilllleeee option is specified then the  |
  687.                Postscript is written to a file and an empty string  is  |
  688.                returned;   otherwise the Postscript is returned as the  |
  689.                result of the command.  The Postscript  is  created  in  |
  690.                Encapsulated  Postscript  form using version 3.0 of the  |
  691.                Document  Structuring  Conventions.   The  _o_p_t_i_o_n-_v_a_l_u_e  |
  692.                argument   pairs   provide  additional  information  to  |
  693.                control the generation of  Postscript.   The  following  |
  694.                options are supported:                                   |
  695.  
  696.                ----ccccoooolllloooorrrrmmmmaaaapppp _v_a_r_N_a_m_e                                             ||
  697.                     _V_a_r_N_a_m_e  must  be  the  name  of  a  global  array  |
  698.                     variable that specifies a color mapping to use  in  |
  699.                     the  Postscript.   Each  element  of  _v_a_r_N_a_m_e must  |
  700.                     consist of Postscript code  to  set  a  particular  |
  701.                     color  value  (e.g.  ``1111....0000 1111....0000 0000....0000 sssseeeettttrrrrggggbbbbccccoooolllloooorrrr'').  |
  702.                     When   outputting   color   information   in   the  |
  703.                     Postscript,  Tk  checks  to  see  if  there  is an  |
  704.                     element of _v_a_r_N_a_m_e  with  the  same  name  as  the  |
  705.                     color.  If so, Tk uses the value of the element as  |
  706.                     the Postscript command to set the color.  If  this  |
  707.                     option hasn't been specified, or if there isn't an  |
  708.                     entry in _v_a_r_N_a_m_e for a given color, then  Tk  uses  |
  709.                     the  red,  green,  and blue intensities from the X  |
  710.                     color.                                              |
  711.  
  712.                ----ccccoooolllloooorrrrmmmmooooddddeeee _m_o_d_e                                               ||
  713.                     Specifies  how  to output color information.  _M_o_d_e  |
  714.                     must be either ccccoooolllloooorrrr (for full color output), ggggrrrraaaayyyy  |
  715.                     (convert    all   colors   to   their   gray-scale  |
  716.                     equivalents) or mmmmoooonnnnoooo (convert all colors to  black  |
  717.                     or white).                                          |
  718.  
  719.  
  720.  
  721.      Page 11                                         (printed 7/23/95)
  722.  
  723.  
  724.  
  725.  
  726.  
  727.  
  728.      ccccaaaannnnvvvvaaaassss((((nnnn))))                    TTTTkkkk (((( ))))                     ccccaaaannnnvvvvaaaassss((((nnnn))))
  729.  
  730.  
  731.  
  732.                ----ffffiiiilllleeee _f_i_l_e_N_a_m_e                                                ||
  733.                     Specifies  the  name of the file in which to write  |
  734.                     the Postscript.  If this  option  isn't  specified  |
  735.                     then  the  Postscript is returned as the result of  |
  736.                     the command instead of being written to a file.     |
  737.  
  738.                ----ffffoooonnnnttttmmmmaaaapppp _v_a_r_N_a_m_e                                              ||
  739.                     _V_a_r_N_a_m_e  must  be  the  name  of  a  global  array  |
  740.                     variable that specifies a font mapping to  use  in  |
  741.                     the  Postscript.   Each  element  of  _v_a_r_N_a_m_e must  |
  742.                     consist of a Tcl list with two elements, which are  |
  743.                     the  name  and  point  size  of a Postscript font.  |
  744.                     When  outputting   Postscript   commands   for   a  |
  745.                     particular  font,  Tk  checks  to  see  if _v_a_r_N_a_m_e  |
  746.                     contains an element with  the  same  name  as  the  |
  747.                     font.   If there is such an element, then the font  |
  748.                     information contained in that element is  used  in  |
  749.                     the  Postscript.   Otherwise  Tk attempts to guess  |
  750.                     what  Postscript  font  to  use.    Tk's   guesses  |
  751.                     generally  only  work for well-known fonts such as  |
  752.                     Times and Helvetica and Courier, and only if the X  |
  753.                     font  name does not omit any dashes up through the  |
  754.                     point         size.          For          example,  |
  755.                     ----****----CCCCoooouuuurrrriiiieeeerrrr----BBBBoooolllldddd----RRRR----NNNNoooorrrrmmmmaaaallll--------****----111122220000----****  will  work  but  |
  756.                     ****CCCCoooouuuurrrriiiieeeerrrr----BBBBoooolllldddd----RRRR----NNNNoooorrrrmmmmaaaallll****111122220000**** will  not;   Tk  needs  |
  757.                     the dashes to parse the font name).                 |
  758.  
  759.                ----hhhheeeeiiiigggghhhhtttt _s_i_z_e                                                  ||
  760.                     Specifies  the height of the area of the canvas to  |
  761.                     print.  Defaults  to  the  height  of  the  canvas  |
  762.                     window.                                             |
  763.  
  764.                ----ppppaaaaggggeeeeaaaannnncccchhhhoooorrrr _a_n_c_h_o_r                                            ||
  765.                     Specifies  which  point of the printed area should  |
  766.                     be appear over the positioning point on  the  page  |
  767.                     (which is given by the ----ppppaaaaggggeeeexxxx and ----ppppaaaaggggeeeeyyyy options).  |
  768.                     For example, ----ppppaaaaggggeeeeaaaannnncccchhhhoooorrrr  nnnn  means  that  the  top  |
  769.                     center  of  the  printed  area  should be over the  |
  770.                     positioning point.  Defaults to cccceeeennnntttteeeerrrr.             |
  771.  
  772.                ----ppppaaaaggggeeeehhhheeeeiiiigggghhhhtttt _s_i_z_e                                              ||
  773.                     Specifies  that the Postscript should be scaled in  |
  774.                     both x and y so that the printed area is _s_i_z_e high  |
  775.                     on  the  Postscript  page.   _S_i_z_e  consists  of  a  |
  776.                     floating-point   number   followed   by   cccc    for  |
  777.                     centimeters, iiii for inches, mmmm for millimeters, or pppp  |
  778.                     or  nothing  for  printer's  points  (1/72  inch).  |
  779.                     Defaults  to the height of the printed area on the  |
  780.                     screen.  If both ----ppppaaaaggggeeeehhhheeeeiiiigggghhhhtttt  and  ----ppppaaaaggggeeeewwwwiiiiddddtttthhhh  are  |
  781.                     specified  then  the  scale  factor from the later  |
  782.                     option  is  used  (non-uniform  scaling   is   not  |
  783.                     implemented).                                       |
  784.  
  785.  
  786.  
  787.      Page 12                                         (printed 7/23/95)
  788.  
  789.  
  790.  
  791.  
  792.  
  793.  
  794.      ccccaaaannnnvvvvaaaassss((((nnnn))))                    TTTTkkkk (((( ))))                     ccccaaaannnnvvvvaaaassss((((nnnn))))
  795.  
  796.  
  797.  
  798.                ----ppppaaaaggggeeeewwwwiiiiddddtttthhhh _s_i_z_e                                               ||
  799.                     Specifies  that the Postscript should be scaled in  |
  800.                     both x and y so that the printed area is _s_i_z_e wide  |
  801.                     on the Postscript page.  _S_i_z_e has the same form as  |
  802.                     for ----ppppaaaaggggeeeehhhheeeeiiiigggghhhhtttt.  Defaults to  the  width  of  the  |
  803.                     printed  area  on the screen.  If both ----ppppaaaaggggeeeehhhheeeeiiiigggghhhhtttt  |
  804.                     and ----ppppaaaaggggeeeewwwwiiiiddddtttthhhh are specified then the scale factor  |
  805.                     from the later option is used (non-uniform scaling  |
  806.                     is not implemented).                                |
  807.  
  808.                ----ppppaaaaggggeeeexxxx _p_o_s_i_t_i_o_n                                               ||
  809.                     _P_o_s_i_t_i_o_n gives the x-coordinate of the positioning  |
  810.                     point on the Postscript page,  using  any  of  the  |
  811.                     forms    allowed   for   ----ppppaaaaggggeeeehhhheeeeiiiigggghhhhtttt.    Used   in  |
  812.                     conjunction  with  the  ----ppppaaaaggggeeeeyyyy   and   ----ppppaaaaggggeeeeaaaannnncccchhhhoooorrrr  |
  813.                     options   to  determine  where  the  printed  area  |
  814.                     appears on the Postscript page.  Defaults  to  the  |
  815.                     center of the page.                                 |
  816.  
  817.                ----ppppaaaaggggeeeeyyyy _p_o_s_i_t_i_o_n                                               ||
  818.                     _P_o_s_i_t_i_o_n gives the y-coordinate of the positioning  |
  819.                     point on the Postscript page,  using  any  of  the  |
  820.                     forms    allowed   for   ----ppppaaaaggggeeeehhhheeeeiiiigggghhhhtttt.    Used   in  |
  821.                     conjunction  with  the  ----ppppaaaaggggeeeexxxx   and   ----ppppaaaaggggeeeeaaaannnncccchhhhoooorrrr  |
  822.                     options   to  determine  where  the  printed  area  |
  823.                     appears on the Postscript page.  Defaults  to  the  |
  824.                     center of the page.                                 |
  825.  
  826.                ----rrrroooottttaaaatttteeee _b_o_o_l_e_a_n                                               ||
  827.                     _B_o_o_l_e_a_n  specifies  whether the printed area is to  |
  828.                     be rotated 90 degrees.  In non-rotated output  the  |
  829.                     x-axis  of  the  printed area runs along the short  |
  830.                     dimension of the page (``portrait''  orientation);  |
  831.                     in  rotated  output the x-axis runs along the long  |
  832.                     dimension of the page (``landscape'' orientation).  |
  833.                     Defaults to non-rotated.                            |
  834.  
  835.                ----wwwwiiiiddddtttthhhh _s_i_z_e                                                   ||
  836.                     Specifies  the  width of the area of the canvas to  |
  837.                     print.   Defaults  to  the  width  of  the  canvas  |
  838.                     window.                                             |
  839.  
  840.                ----xxxx _p_o_s_i_t_i_o_n                                                   ||
  841.                     Specifies the x-coordinate of the left edge of the  |
  842.                     area of the canvas  that  is  to  be  printed,  in  |
  843.                     canvas   coordinates,   not   window  coordinates.  |
  844.                     Defaults to the coordinate of the left edge of the  |
  845.                     window.                                             |
  846.  
  847.                ----yyyy _p_o_s_i_t_i_o_n                                                   ||
  848.                     Specifies  the y-coordinate of the top edge of the  |
  849.                     area of the canvas  that  is  to  be  printed,  in  |
  850.  
  851.  
  852.  
  853.      Page 13                                         (printed 7/23/95)
  854.  
  855.  
  856.  
  857.  
  858.  
  859.  
  860.      ccccaaaannnnvvvvaaaassss((((nnnn))))                    TTTTkkkk (((( ))))                     ccccaaaannnnvvvvaaaassss((((nnnn))))
  861.  
  862.  
  863.  
  864.                     canvas   coordinates,   not   window  coordinates.  |
  865.                     Defaults to the coordinate of the top edge of  the  |
  866.                     window.                                             |
  867.  
  868.           _p_a_t_h_N_a_m_e rrrraaaaiiiisssseeee _t_a_g_O_r_I_d ?_a_b_o_v_e_T_h_i_s?
  869.                Move all of  the  items  given  by  _t_a_g_O_r_I_d  to  a  new
  870.                position  in the display list just after the item given
  871.                by _a_b_o_v_e_T_h_i_s.  If _t_a_g_O_r_I_d refers to more than one  item
  872.                then  all are moved but the relative order of the moved
  873.                items will not be changed.  _A_b_o_v_e_T_h_i_s is a tag  or  id;
  874.                if  it  refers  to  more  than  one  item then the last
  875.                (topmost) of these items in the display list is used as
  876.                the  destination  location  for  the moved items.  This
  877.                command returns an empty string.
  878.  
  879.           _p_a_t_h_N_a_m_e ssssccccaaaalllleeee _t_a_g_O_r_I_d _x_O_r_i_g_i_n _y_O_r_i_g_i_n _x_S_c_a_l_e _y_S_c_a_l_e
  880.                Rescale all of the items given  by  _t_a_g_O_r_I_d  in  canvas
  881.                coordinate  space.   _X_O_r_i_g_i_n  and  _y_O_r_i_g_i_n identify the
  882.                origin for the scaling operation and _x_S_c_a_l_e and  _y_S_c_a_l_e
  883.                identify  the  scale  factors for x- and y-coordinates,
  884.                respectively (a scale factor of 1.0 implies  no  change
  885.                to  that  coordinate).  For each of the points defining
  886.                each item, the x-coordinate is adjusted to  change  the
  887.                distance   from   _x_O_r_i_g_i_n   by   a  factor  of  _x_S_c_a_l_e.
  888.                Similarly, each y-coordinate is adjusted to change  the
  889.                distance  from  _y_O_r_i_g_i_n  by  a  factor of _y_S_c_a_l_e.  This
  890.                command returns an empty string.
  891.  
  892.           _p_a_t_h_N_a_m_e ssssccccaaaannnn _o_p_t_i_o_n _a_r_g_s
  893.                This command is used to implement scanning on canvases.
  894.                It has two forms, depending on _o_p_t_i_o_n:
  895.  
  896.                _p_a_t_h_N_a_m_e ssssccccaaaannnn mmmmaaaarrrrkkkk _x _y
  897.                     Records _x and _y and  the  canvas's  current  view;
  898.                     used   in   conjunction  with  later  ssssccccaaaannnn  ddddrrrraaaaggggttttoooo
  899.                     commands.  Typically this  command  is  associated
  900.                     with  a mouse button press in the widget and _x and
  901.                     _y are the coordinates of the mouse.  It returns an
  902.                     empty string.
  903.  
  904.                _p_a_t_h_N_a_m_e ssssccccaaaannnn ddddrrrraaaaggggttttoooo _x _y.
  905.                     This command computes the difference between its _x
  906.                     and   _y   arguments  (which  are  typically  mouse
  907.                     coordinates) and the _x and _y arguments to the last
  908.                     ssssccccaaaannnn mmmmaaaarrrrkkkk command for the widget.  It then adjusts
  909.                     the  view  by   10   times   the   difference   in
  910.                     coordinates.  This command is typically associated
  911.                     with mouse motion events in the widget, to produce
  912.                     the  effect  of  dragging the canvas at high speed
  913.                     through its window.  The return value is an  empty
  914.                     string.
  915.  
  916.  
  917.  
  918.  
  919.      Page 14                                         (printed 7/23/95)
  920.  
  921.  
  922.  
  923.  
  924.  
  925.  
  926.      ccccaaaannnnvvvvaaaassss((((nnnn))))                    TTTTkkkk (((( ))))                     ccccaaaannnnvvvvaaaassss((((nnnn))))
  927.  
  928.  
  929.  
  930.           _p_a_t_h_N_a_m_e sssseeeelllleeeecccctttt _o_p_t_i_o_n ?_t_a_g_O_r_I_d _a_r_g?
  931.                Manipulates the  selection  in  one  of  several  ways,
  932.                depending  on  _o_p_t_i_o_n.  The command may take any of the
  933.                forms described below.   In  all  of  the  descriptions
  934.                below,  _t_a_g_O_r_I_d  must  refer  to  an item that supports
  935.                indexing and selection;  if it refers to multiple items
  936.                then  the first of these that supports indexing and the
  937.                selection is used.  _I_n_d_e_x gives a  textual  description
  938.                of  a  position within _t_a_g_O_r_I_d, as described in INDICES
  939.                above.
  940.  
  941.                _p_a_t_h_N_a_m_e sssseeeelllleeeecccctttt aaaaddddjjjjuuuusssstttt _t_a_g_O_r_I_d _i_n_d_e_x
  942.                     Locate the end of the selection in _t_a_g_O_r_I_d nearest
  943.                     to  the  character given by _i_n_d_e_x, and adjust that
  944.                     end  of  the  selection  to  be  at  _i_n_d_e_x   (i.e.
  945.                     including  but not going beyond _i_n_d_e_x).  The other
  946.                     end of the selection is made the anchor point  for
  947.                     future sssseeeelllleeeecccctttt ttttoooo commands.  If the selection isn't
  948.                     currently in _t_a_g_O_r_I_d then this command behaves the
  949.                     same  as the sssseeeelllleeeecccctttt ttttoooo widget command.  Returns an
  950.                     empty string.
  951.  
  952.                _p_a_t_h_N_a_m_e sssseeeelllleeeecccctttt cccclllleeeeaaaarrrr
  953.                     Clear the selection if it is in this  widget.   If
  954.                     the  selection  isn't  in  this  widget  then  the
  955.                     command has no effect.  Returns an empty string.
  956.  
  957.                _p_a_t_h_N_a_m_e sssseeeelllleeeecccctttt ffffrrrroooommmm _t_a_g_O_r_I_d _i_n_d_e_x
  958.                     Set the selection anchor point for the  widget  to
  959.                     be just before the character given by _i_n_d_e_x in the
  960.                     item  given  by  _t_a_g_O_r_I_d.   This  command  doesn't
  961.                     change  the selection;  it just sets the fixed end
  962.                     of the selection for future  sssseeeelllleeeecccctttt  ttttoooo  commands.
  963.                     Returns an empty string.
  964.  
  965.                _p_a_t_h_N_a_m_e sssseeeelllleeeecccctttt iiiitttteeeemmmm
  966.                     Returns the  id  of  the  selected  item,  if  the
  967.                     selection  is  in  an item in this canvas.  If the
  968.                     selection is not in  this  canvas  then  an  empty
  969.                     string is returned.
  970.  
  971.                _p_a_t_h_N_a_m_e sssseeeelllleeeecccctttt ttttoooo _t_a_g_O_r_I_d _i_n_d_e_x
  972.                     Set the selection to consist of  those  characters
  973.                     of  _t_a_g_O_r_I_d between the selection anchor point and
  974.                     _i_n_d_e_x.   The  new  selection  will   include   the
  975.                     character  given  by  _i_n_d_e_x;  it  will include the
  976.                     character given by the anchor point only if  _i_n_d_e_x
  977.                     is greater than or equal to the anchor point.  The
  978.                     anchor point is  determined  by  the  most  recent
  979.                     sssseeeelllleeeecccctttt  aaaaddddjjjjuuuusssstttt  or  sssseeeelllleeeecccctttt  ffffrrrroooommmm  command for this
  980.                     widget.  If the selection  anchor  point  for  the
  981.                     widget  isn't currently in _t_a_g_O_r_I_d, then it is set
  982.  
  983.  
  984.  
  985.      Page 15                                         (printed 7/23/95)
  986.  
  987.  
  988.  
  989.  
  990.  
  991.  
  992.      ccccaaaannnnvvvvaaaassss((((nnnn))))                    TTTTkkkk (((( ))))                     ccccaaaannnnvvvvaaaassss((((nnnn))))
  993.  
  994.  
  995.  
  996.                     to the same character given by _i_n_d_e_x.  Returns  an
  997.                     empty string.
  998.  
  999.           _p_a_t_h_N_a_m_e ttttyyyyppppeeee _t_a_g_O_r_I_d
  1000.                Returns the type of the item given by _t_a_g_O_r_I_d, such  as
  1001.                rrrreeeeccccttttaaaannnngggglllleeee  or tttteeeexxxxtttt.  If _t_a_g_O_r_I_d refers to more than one
  1002.                item, then the type of the first item  in  the  display
  1003.                list  is  returned.   If  _t_a_g_O_r_I_d  doesn't refer to any
  1004.                items at all then an empty string is returned.
  1005.  
  1006.           _p_a_t_h_N_a_m_e xxxxvvvviiiieeeewwww _i_n_d_e_x
  1007.                Change the view  in  the  canvas  so  that  the  canvas
  1008.                position given by _i_n_d_e_x appears at the left edge of the
  1009.                window.  This command is typically used  by  scrollbars
  1010.                to  scroll the canvas.  _I_n_d_e_x counts in units of scroll
  1011.                increments (the value of the  ssssccccrrrroooollllllllIIIInnnnccccrrrreeeemmmmeeeennnntttt  option):
  1012.                a value of 0 corresponds to the left edge of the scroll
  1013.                region (as defined  by  the  ssssccccrrrroooollllllllRRRReeeeggggiiiioooonnnn  option),   a
  1014.                value  of 1 means one scroll unit to the right of this,
  1015.                and so on.  The return value is an empty string.
  1016.  
  1017.           _p_a_t_h_N_a_m_e yyyyvvvviiiieeeewwww _i_n_d_e_x
  1018.                Change the view  in  the  canvas  so  that  the  canvas
  1019.                position  given by _i_n_d_e_x appears at the top edge of the
  1020.                window.  This command is typically used  by  scrollbars
  1021.                to  scroll the canvas.  _I_n_d_e_x counts in units of scroll
  1022.                increments (the value of the  ssssccccrrrroooollllllllIIIInnnnccccrrrreeeemmmmeeeennnntttt  option):
  1023.                a  value of 0 corresponds to the top edge of the scroll
  1024.                region (as defined  by  the  ssssccccrrrroooollllllllRRRReeeeggggiiiioooonnnn  option),   a
  1025.                value of 1 means one scroll unit below this, and so on.
  1026.                The return value is an empty string.
  1027.  
  1028.  
  1029.      OOOOVVVVEEEERRRRVVVVIIIIEEEEWWWW OOOOFFFF IIIITTTTEEEEMMMM TTTTYYYYPPPPEEEESSSS
  1030.           The sections below  describe  the  various  types  of  items
  1031.           supported   by   canvas   widgets.    Each   item   type  is
  1032.           characterized by two things: first, the form of  the  ccccrrrreeeeaaaatttteeee
  1033.           command used to create instances of the type;  and second, a
  1034.           set of configuration options for items of that  type,  which
  1035.           may be used in the ccccrrrreeeeaaaatttteeee and iiiitttteeeemmmmccccoooonnnnffffiiiigggguuuurrrreeee widget commands.
  1036.           Most items  don't  support  indexing  or  selection  or  the
  1037.           commands  related  to them, such as iiiinnnnddddeeeexxxx and iiiinnnnsssseeeerrrrtttt.  Where
  1038.           items do support these facilities, it is noted explicitly in
  1039.           the  descriptions below (at present, only text items provide
  1040.           this support).
  1041.  
  1042.  
  1043.      AAAARRRRCCCC IIIITTTTEEEEMMMMSSSS
  1044.           Items of type  aaaarrrrcccc  appear  on  the  display  as  arc-shaped  |
  1045.           regions.   An  arc  is a section of an oval delimited by two  |
  1046.           angles (specified by the ----ssssttttaaaarrrrtttt  and  ----eeeexxxxtttteeeennnntttt  options)  and  |
  1047.           displayed  in  one  of several ways (specified by the ----ssssttttyyyylllleeee  |
  1048.  
  1049.  
  1050.  
  1051.      Page 16                                         (printed 7/23/95)
  1052.  
  1053.  
  1054.  
  1055.  
  1056.  
  1057.  
  1058.      ccccaaaannnnvvvvaaaassss((((nnnn))))                    TTTTkkkk (((( ))))                     ccccaaaannnnvvvvaaaassss((((nnnn))))
  1059.  
  1060.  
  1061.  
  1062.           option).  Arcs are  created  with  widget  commands  of  the  |
  1063.           following form:                                               |
  1064.  
  1065.                _p_a_t_h_N_a_m_e ccccrrrreeeeaaaatttteeee aaaarrrrcccc _x_1 _y_1 _x_2 _y_2 ?_o_p_t_i_o_n _v_a_l_u_e _o_p_t_i_o_n _v_a_l_u_e ...?|
  1066.           The arguments _x_1, _y_1, _x_2, and _y_2 give the coordinates of two  |
  1067.           diagonally   opposite   corners   of  a  rectangular  region  |
  1068.           enclosing  the  oval  that  defines  the  arc.   After   the  |
  1069.           coordinates  there  may be any number of _o_p_t_i_o_n-_v_a_l_u_e pairs,  |
  1070.           each of which sets one of the configuration options for  the  |
  1071.           item.    These  same  _o_p_t_i_o_n-_v_a_l_u_e  pairs  may  be  used  in  |
  1072.           iiiitttteeeemmmmccccoooonnnnffffiiiigggguuuurrrreeee  widget  commands   to   change   the   item's  |
  1073.           configuration.   The  following  options  are  supported for  |
  1074.           arcs:                                                         |
  1075.  
  1076.           ----eeeexxxxtttteeeennnntttt _d_e_g_r_e_e_s                                                    ||
  1077.                Specifies the size of the angular range occupied by the  |
  1078.                arc.  The  arc's  range  extends  for  _d_e_g_r_e_e_s  degrees  |
  1079.                counter-clockwise  from the starting angle given by the  |
  1080.                ----ssssttttaaaarrrrtttt option.  _D_e_g_r_e_e_s may be negative.                 |
  1081.  
  1082.           ----ffffiiiillllllll _c_o_l_o_r                                                        ||
  1083.                Fill  the region of the arc with _c_o_l_o_r.  _C_o_l_o_r may have  |
  1084.                any of the forms accepted by TTTTkkkk____GGGGeeeettttCCCCoooolllloooorrrr.  If _c_o_l_o_r  is  |
  1085.                an  empty  string (the default), then then the arc will  |
  1086.                not be filled.                                           |
  1087.  
  1088.           ----oooouuuuttttlllliiiinnnneeee _c_o_l_o_r                                                     ||
  1089.                _C_o_l_o_r  specifies  a  color to use for drawing the arc's  |
  1090.                outline;  it may have any  of  the  forms  accepted  by  |
  1091.                TTTTkkkk____GGGGeeeettttCCCCoooolllloooorrrr.   This  option  defaults to bbbbllllaaaacccckkkk.  If the  |
  1092.                arc's style is aaaarrrrcccc then this  option  is  ignored  (the  |
  1093.                section of perimeter is filled using the ----ffffiiiillllllll option).  |
  1094.                If _c_o_l_o_r is  specified  as  an  empty  string  then  no  |
  1095.                outline is drawn for the arc.                            |
  1096.  
  1097.           ----ssssttttaaaarrrrtttt _d_e_g_r_e_e_s                                                     ||
  1098.                Specifies  the  beginning of the angular range occupied  |
  1099.                by the arc.  _D_e_g_r_e_e_s  is  given  in  units  of  degrees  |
  1100.                measured counter-clockwise from the 3-o'clock position;  |
  1101.                it may be either positive or negative.                   |
  1102.  
  1103.           ----ssssttttiiiipppppppplllleeee _b_i_t_m_a_p                                                    ||
  1104.                Indicates  that  the  arc should be filled in a stipple  |
  1105.                pattern; _b_i_t_m_a_p specifies the stipple pattern  to  use,  |
  1106.                in  any  of the forms accepted by TTTTkkkk____GGGGeeeettttBBBBiiiittttmmmmaaaapppp.  If the  |
  1107.                ----ffffiiiillllllll option hasn't been specified then this option has  |
  1108.                no effect.  If _b_i_t_m_a_p is an empty string (the default),  |
  1109.                then filling is done in a solid fashion.                 |
  1110.  
  1111.           ----ssssttttyyyylllleeee _t_y_p_e                                                        ||
  1112.                Specifies  how  to  draw  the arc.  If _t_y_p_e is ppppiiiieeeesssslllliiiicccceeee  |
  1113.                (the default) then the arc's region  is  defined  by  a  |
  1114.  
  1115.  
  1116.      Page 17                                         (printed 7/23/95)
  1117.  
  1118.  
  1119.  
  1120.  
  1121.  
  1122.  
  1123.      ccccaaaannnnvvvvaaaassss((((nnnn))))                    TTTTkkkk (((( ))))                     ccccaaaannnnvvvvaaaassss((((nnnn))))
  1124.  
  1125.  
  1126.  
  1127.                section of the oval's perimeter plus two line segments,  |
  1128.                one between the center of the oval and each end of  the  |
  1129.                perimeter  section.   If  _t_y_p_e  is cccchhhhoooorrrrdddd then the arc's  |
  1130.                region is defined by a section of the oval's  perimeter  |
  1131.                plus  a  single  line  segment  connecting  the two end  |
  1132.                points of the perimeter section.  If _t_y_p_e is  aaaarrrrcccc  then  |
  1133.                the arc's region consists of a section of the perimeter  |
  1134.                alone.  In this last case there is no outline  for  the  |
  1135.                arc and the ----oooouuuuttttlllliiiinnnneeee option is ignored.                  |
  1136.  
  1137.           ----ttttaaaaggggssss _t_a_g_L_i_s_t                                                      ||
  1138.                Specifies  a set of tags to apply to the item.  _T_a_g_L_i_s_t  |
  1139.                consists of a list of  tag  names,  which  replace  any  |
  1140.                existing  tags  for  the item.  _T_a_g_L_i_s_t may be an empty  |
  1141.                list.                                                    |
  1142.  
  1143.           ----wwwwiiiiddddtttthhhh _o_u_t_l_i_n_e_W_i_d_t_h                                                ||
  1144.                Specifies  the  width of the outline to be drawn around  |
  1145.                the arc's region, in any of the forms described in  the  |
  1146.                COORDINATES  section above.  If the ----oooouuuuttttlllliiiinnnneeee option has  |
  1147.                been specified as an empty string then this option  has  |
  1148.                no effect.  Wide outlines will be drawn centered on the  |
  1149.                edges of the arc's region.   This  option  defaults  to  |
  1150.                1.0.                                                     |
  1151.  
  1152.  
  1153.      BBBBIIIITTTTMMMMAAAAPPPP IIIITTTTEEEEMMMMSSSS                                                       ||||
  1154.           Items of type bbbbiiiittttmmmmaaaapppp appear on the display  as  images  with  |
  1155.           two  colors, foreground and background.  Bitmaps are created  |
  1156.           with widget commands of the following form:                   |
  1157.  
  1158.                _p_a_t_h_N_a_m_e ccccrrrreeeeaaaatttteeee bbbbiiiittttmmmmaaaapppp _x _y ?_o_p_t_i_o_n _v_a_l_u_e _o_p_t_i_o_n _v_a_l_u_e ...?|
  1159.           The arguments _x and _y specify the  coordinates  of  a  point  |
  1160.           used  to position the bitmap on the display (see the ----aaaannnncccchhhhoooorrrr  |
  1161.           option  below  for  more  information  on  how  bitmaps  are  |
  1162.           displayed).   After  the coordinates there may be any number  |
  1163.           of _o_p_t_i_o_n-_v_a_l_u_e  pairs,  each  of  which  sets  one  of  the  |
  1164.           configuration options for the item.  These same _o_p_t_i_o_n-_v_a_l_u_e  |
  1165.           pairs may be used in iiiitttteeeemmmmccccoooonnnnffffiiiigggguuuurrrreeee widget commands to change  |
  1166.           the   item's   configuration.   The  following  options  are  |
  1167.           supported for bitmaps:                                        |
  1168.  
  1169.           ----aaaannnncccchhhhoooorrrr _a_n_c_h_o_r_P_o_s                                                  ||
  1170.                _A_n_c_h_o_r_P_o_s  tells how to position the bitmap relative to  |
  1171.                the positioning point for the item;  it may have any of  |
  1172.                the  forms  accepted  by TTTTkkkk____GGGGeeeettttAAAAnnnncccchhhhoooorrrr.  For example, if  |
  1173.                _a_n_c_h_o_r_P_o_s is cccceeeennnntttteeeerrrr then the bitmap is centered on  the  |
  1174.                point;  if _a_n_c_h_o_r_P_o_s is nnnn then the bitmap will be drawn  |
  1175.                so that its top center  point  is  at  the  positioning  |
  1176.                point.  This option defaults to cccceeeennnntttteeeerrrr.                  |
  1177.  
  1178.  
  1179.  
  1180.      Page 18                                         (printed 7/23/95)
  1181.  
  1182.  
  1183.  
  1184.  
  1185.  
  1186.  
  1187.      ccccaaaannnnvvvvaaaassss((((nnnn))))                    TTTTkkkk (((( ))))                     ccccaaaannnnvvvvaaaassss((((nnnn))))
  1188.  
  1189.  
  1190.  
  1191.           ----bbbbaaaacccckkkkggggrrrroooouuuunnnndddd _c_o_l_o_r                                                  ||
  1192.                Specifies  a color to use for each of the bitmap pixels  |
  1193.                whose value is 0.  _C_o_l_o_r may  have  any  of  the  forms  |
  1194.                accepted   by   TTTTkkkk____GGGGeeeettttCCCCoooolllloooorrrr.    If  this  option  isn't  |
  1195.                specified, or if it is specified as  an  empty  string,  |
  1196.                then the background color for the canvas is used.        |
  1197.  
  1198.           ----bbbbiiiittttmmmmaaaapppp _b_i_t_m_a_p                                                     ||
  1199.                Specifies  the  bitmap  to display in the item.  _B_i_t_m_a_p  |
  1200.                may have any of the forms accepted by TTTTkkkk____GGGGeeeettttBBBBiiiittttmmmmaaaapppp.      |
  1201.  
  1202.           ----ffffoooorrrreeeeggggrrrroooouuuunnnndddd _c_o_l_o_r                                                  ||
  1203.                Specifies  a color to use for each of the bitmap pixels  |
  1204.                whose value is 1.  _C_o_l_o_r may  have  any  of  the  forms  |
  1205.                accepted by TTTTkkkk____GGGGeeeettttCCCCoooolllloooorrrr and defaults to bbbbllllaaaacccckkkk.           |
  1206.  
  1207.           ----ttttaaaaggggssss _t_a_g_L_i_s_t                                                      ||
  1208.                Specifies  a set of tags to apply to the item.  _T_a_g_L_i_s_t  |
  1209.                consists of a list of  tag  names,  which  replace  any  |
  1210.                existing  tags  for  the item.  _T_a_g_L_i_s_t may be an empty  |
  1211.                list.
  1212.  
  1213.  
  1214.      LLLLIIIINNNNEEEE IIIITTTTEEEEMMMMSSSS
  1215.           Items of type lllliiiinnnneeee appear on the  display  as  one  or  more
  1216.           connected  line  segments or curves.  Lines are created with
  1217.           widget commands of the following form:
  1218.  
  1219.                _p_a_t_h_N_a_m_e ccccrrrreeeeaaaatttteeee lllliiiinnnneeee _x_1 _y_1... _x_n _y_n ?_o_p_t_i_o_n _v_a_l_u_e _o_p_t_i_o_n _v_a_l_u_e ...?
  1220.           The arguments _x_1 through  _y_n  give  the  coordinates  for  a
  1221.           series  of  two  or  more  points  that describe a series of
  1222.           connected line segments.  After the coordinates there may be
  1223.           any  number of _o_p_t_i_o_n-_v_a_l_u_e pairs, each of which sets one of
  1224.           the  configuration  options  for  the  item.    These   same
  1225.           _o_p_t_i_o_n-_v_a_l_u_e  pairs  may  be  used  in  iiiitttteeeemmmmccccoooonnnnffffiiiigggguuuurrrreeee widget
  1226.           commands to change the item's configuration.  The  following
  1227.           options are supported for lines:
  1228.  
  1229.           ----aaaarrrrrrrroooowwww _w_h_e_r_e
  1230.                Indicates whether or not arrowheads are to be drawn  at
  1231.                one  or  both ends of the line.  _W_h_e_r_e must have one of
  1232.                the values nnnnoooonnnneeee (for  no  arrowheads),  ffffiiiirrrrsssstttt  (for  an
  1233.                arrowhead at the first point of the line), llllaaaasssstttt (for an
  1234.                arrowhead at the last point of the line), or bbbbooootttthhhh  (for
  1235.                arrowheads  at  both  ends).   This  option defaults to
  1236.                nnnnoooonnnneeee.
  1237.  
  1238.           ----aaaarrrrrrrroooowwwwsssshhhhaaaappppeeee _s_h_a_p_e
  1239.                This option indicates  how  to  draw  arrowheads.   The
  1240.                _s_h_a_p_e argument must be a list with three elements, each
  1241.                specifying a distance in any of the forms described  in
  1242.                the  COORDINATES  section  above.  The first element of
  1243.  
  1244.  
  1245.      Page 19                                         (printed 7/23/95)
  1246.  
  1247.  
  1248.  
  1249.  
  1250.  
  1251.  
  1252.      ccccaaaannnnvvvvaaaassss((((nnnn))))                    TTTTkkkk (((( ))))                     ccccaaaannnnvvvvaaaassss((((nnnn))))
  1253.  
  1254.  
  1255.  
  1256.                the list gives the distance along  the  line  from  the
  1257.                neck  of  the arrowhead to its tip.  The second element
  1258.                gives the distance along the  line  from  the  trailing
  1259.                points  of  the  arrowhead  to  the  tip, and the third
  1260.                element gives the distance from the outside edge of the
  1261.                line  to  the  trailing  points.   If this option isn't
  1262.                specified then Tk picks a ``reasonable'' shape.
  1263.  
  1264.           ----ccccaaaappppssssttttyyyylllleeee _s_t_y_l_e
  1265.                Specifies the ways in which caps are to be drawn at the
  1266.                endpoints of the line.  _S_t_y_l_e may have any of the forms
  1267.                accepted  by  TTTTkkkk____GGGGeeeettttCCCCaaaappppSSSSttttyyyylllleeee  (bbbbuuuutttttttt,   pppprrrroooojjjjeeeeccccttttiiiinnnngggg,   or
  1268.                rrrroooouuuunnnndddd).    If  this  option  isn't  specified  then  it
  1269.                defaults to bbbbuuuutttttttt.  Where arrowheads are drawn  the  cap
  1270.                style is ignored.
  1271.  
  1272.           ----ffffiiiillllllll _c_o_l_o_r
  1273.                _C_o_l_o_r specifies a color to use for drawing the line; it
  1274.                may  have  any  of the forms acceptable to TTTTkkkk____GGGGeeeettttCCCCoooolllloooorrrr.
  1275.                It may also be an empty string, in which case the  line
  1276.                will be transparent.  This option defaults to bbbbllllaaaacccckkkk.
  1277.  
  1278.           ----jjjjooooiiiinnnnssssttttyyyylllleeee _s_t_y_l_e
  1279.                Specifies the ways in which joints are to be  drawn  at
  1280.                the  vertices  of  the line.  _S_t_y_l_e may have any of the
  1281.                forms accepted  by  TTTTkkkk____GGGGeeeettttCCCCaaaappppSSSSttttyyyylllleeee  (bbbbeeeevvvveeeellll,  mmmmiiiitttteeeerrrr,  or
  1282.                rrrroooouuuunnnndddd).    If  this  option  isn't  specified  then  it
  1283.                defaults to mmmmiiiitttteeeerrrr.   If  the  line  only  contains  two
  1284.                points then this option is irrelevant.
  1285.  
  1286.           ----ssssmmmmooooooootttthhhh _b_o_o_l_e_a_n
  1287.                _B_o_o_l_e_a_n  must  have  one  of  the  forms  accepted   by  |
  1288.                TTTTkkkk____GGGGeeeettttBBBBoooooooolllleeeeaaaannnn.   It  indicates  whether or not the line  |
  1289.                should be drawn  as  a  curve.   If  so,  the  line  is  |
  1290.                rendered  as  a  set  of  Bezier splines: one spline is  |
  1291.                drawn for the first and second line segments,  one  for  |
  1292.                the   second  and  third,  and  so  on.   Straight-line  |
  1293.                segments can be generated within a curve by duplicating  |
  1294.                the end-points of the desired line segment.              |
  1295.  
  1296.           ----sssspppplllliiiinnnneeeesssstttteeeeppppssss _n_u_m_b_e_r                                                ||
  1297.                Specifies  the degree of smoothness desired for curves:  |
  1298.                each spline  will  be  approximated  with  _n_u_m_b_e_r  line  |
  1299.                segments.   This  option  is ignored unless the ----ssssmmmmooooooootttthhhh  |
  1300.                option is true.
  1301.  
  1302.           ----ssssttttiiiipppppppplllleeee _b_i_t_m_a_p
  1303.                Indicates that the line should be filled in  a  stipple
  1304.                pattern;  _b_i_t_m_a_p  specifies the stipple pattern to use,
  1305.                in any of  the  forms  accepted  by  TTTTkkkk____GGGGeeeettttBBBBiiiittttmmmmaaaapppp.   If
  1306.                _b_i_t_m_a_p  is  an empty string (the default), then filling
  1307.                is done in a solid fashion.
  1308.  
  1309.  
  1310.  
  1311.      Page 20                                         (printed 7/23/95)
  1312.  
  1313.  
  1314.  
  1315.  
  1316.  
  1317.  
  1318.      ccccaaaannnnvvvvaaaassss((((nnnn))))                    TTTTkkkk (((( ))))                     ccccaaaannnnvvvvaaaassss((((nnnn))))
  1319.  
  1320.  
  1321.  
  1322.           ----ttttaaaaggggssss _t_a_g_L_i_s_t
  1323.                Specifies a set of tags to apply to the item.   _T_a_g_L_i_s_t  |
  1324.                consists  of  a  list  of  tag names, which replace any  |
  1325.                existing tags for the item.  _T_a_g_L_i_s_t may  be  an  empty  |
  1326.                list.
  1327.  
  1328.           ----wwwwiiiiddddtttthhhh _l_i_n_e_W_i_d_t_h
  1329.                _L_i_n_e_W_i_d_t_h specifies the width of the line,  in  any  of
  1330.                the  forms  described in the COORDINATES section above.
  1331.                Wide lines will be drawn centered on the path specified
  1332.                by  the points.  If this option isn't specified then it
  1333.                defaults to 1.0.
  1334.  
  1335.  
  1336.      OOOOVVVVAAAALLLL IIIITTTTEEEEMMMMSSSS
  1337.           Items of type oooovvvvaaaallll appear as circular or oval regions on the
  1338.           display.   Each  oval  may have an outline, a fill, or both.
  1339.           Ovals are created with  widget  commands  of  the  following
  1340.           form:
  1341.  
  1342.                _p_a_t_h_N_a_m_e ccccrrrreeeeaaaatttteeee oooovvvvaaaallll _x_1 _y_1 _x_2 _y_2 ?_o_p_t_i_o_n _v_a_l_u_e _o_p_t_i_o_n _v_a_l_u_e ...?
  1343.           The arguments _x_1, _y_1, _x_2, and _y_2 give the coordinates of two
  1344.           diagonally   opposite   corners   of  a  rectangular  region
  1345.           enclosing the oval.  The oval will include the top and  left
  1346.           edges of the rectangle not the lower or right edges.  If the
  1347.           region is  square  then  the  resulting  oval  is  circular;
  1348.           otherwise  it  is elongated in shape.  After the coordinates
  1349.           there may be any number of _o_p_t_i_o_n-_v_a_l_u_e pairs, each of which
  1350.           sets  one  of the configuration options for the item.  These
  1351.           same _o_p_t_i_o_n-_v_a_l_u_e pairs may be used in iiiitttteeeemmmmccccoooonnnnffffiiiigggguuuurrrreeee  widget
  1352.           commands  to change the item's configuration.  The following
  1353.           options are supported for ovals:
  1354.  
  1355.           ----ffffiiiillllllll _c_o_l_o_r
  1356.                Fill the area of the oval with _c_o_l_o_r.  _C_o_l_o_r  may  have
  1357.                any  of the forms accepted by TTTTkkkk____GGGGeeeettttCCCCoooolllloooorrrr.  If _c_o_l_o_r is
  1358.                an empty string (the default), then then the oval  will
  1359.                not be filled.
  1360.  
  1361.           ----oooouuuuttttlllliiiinnnneeee _c_o_l_o_r
  1362.                _C_o_l_o_r specifies a color to use for drawing  the  oval's
  1363.                outline;   it  may  have  any  of the forms accepted by
  1364.                TTTTkkkk____GGGGeeeettttCCCCoooolllloooorrrr.  This option defaults to bbbbllllaaaacccckkkk.  If  _c_o_l_o_r
  1365.                is  an  empty  string then no outline will be drawn for
  1366.                the oval.
  1367.  
  1368.           ----ssssttttiiiipppppppplllleeee _b_i_t_m_a_p
  1369.                Indicates that the oval should be filled in  a  stipple
  1370.                pattern;  _b_i_t_m_a_p  specifies the stipple pattern to use,
  1371.                in any of the forms accepted by TTTTkkkk____GGGGeeeettttBBBBiiiittttmmmmaaaapppp.   If  the
  1372.                ----ffffiiiillllllll option hasn't been specified then this option has
  1373.                no effect.  If _b_i_t_m_a_p is an empty string (the default),
  1374.  
  1375.  
  1376.      Page 21                                         (printed 7/23/95)
  1377.  
  1378.  
  1379.  
  1380.  
  1381.  
  1382.  
  1383.      ccccaaaannnnvvvvaaaassss((((nnnn))))                    TTTTkkkk (((( ))))                     ccccaaaannnnvvvvaaaassss((((nnnn))))
  1384.  
  1385.  
  1386.  
  1387.                then filling is done in a solid fashion.
  1388.  
  1389.           ----ttttaaaaggggssss _t_a_g_L_i_s_t
  1390.                Specifies a set of tags to apply to the item.   _T_a_g_L_i_s_t  |
  1391.                consists  of  a  list  of  tag names, which replace any  |
  1392.                existing tags for the item.  _T_a_g_L_i_s_t may  be  an  empty  |
  1393.                list.
  1394.  
  1395.           ----wwwwiiiiddddtttthhhh _o_u_t_l_i_n_e_W_i_d_t_h
  1396.                _o_u_t_l_i_n_e_W_i_d_t_h specifies the width of the outline  to  be
  1397.                drawn around the oval, in any of the forms described in
  1398.                the COORDINATES section above.  If the ----oooouuuuttttlllliiiinnnneeee  option
  1399.                hasn't  been  specified then this option has no effect.  |
  1400.                Wide outlines are  drawn  centered  on  the  oval  path  |
  1401.                defined by _x_1, _y_1, _x_2, and _y_2.  This option defaults to
  1402.                1.0.
  1403.  
  1404.  
  1405.      PPPPOOOOLLLLYYYYGGGGOOOONNNN IIIITTTTEEEEMMMMSSSS
  1406.           Items of type ppppoooollllyyyyggggoooonnnn appear as polygonal or  curved  filled
  1407.           regions  on  the  display.  Polygons are created with widget
  1408.           commands of the following form:
  1409.  
  1410.                _p_a_t_h_N_a_m_e ccccrrrreeeeaaaatttteeee ppppoooollllyyyyggggoooonnnn _x_1 _y_1 ... _x_n _y_n ?_o_p_t_i_o_n _v_a_l_u_e _o_p_t_i_o_n _v_a_l_u_e ...?
  1411.           The arguments _x_1 through  _y_n  specify  the  coordinates  for
  1412.           three  or  more  points  that  define a closed polygon.  The
  1413.           first and last points may be the same;  whether they are  or
  1414.           not,  Tk  will  draw the polygon as a closed polygon.  After
  1415.           the coordinates there may  be  any  number  of  _o_p_t_i_o_n-_v_a_l_u_e
  1416.           pairs,  each  of which sets one of the configuration options
  1417.           for the item.  These same _o_p_t_i_o_n-_v_a_l_u_e pairs may be used  in
  1418.           iiiitttteeeemmmmccccoooonnnnffffiiiigggguuuurrrreeee   widget   commands   to   change  the  item's
  1419.           configuration.  The  following  options  are  supported  for
  1420.           polygons:
  1421.  
  1422.           ----ffffiiiillllllll _c_o_l_o_r
  1423.                _C_o_l_o_r specifies a color to use for filling the area  of
  1424.                the polygon; it may have any of the forms acceptable to
  1425.                TTTTkkkk____GGGGeeeettttCCCCoooolllloooorrrr.  If _c_o_l_o_r is  an  empty  string  then  the
  1426.                polygon  will  be transparent.  This option defaults to
  1427.                bbbbllllaaaacccckkkk.
  1428.  
  1429.           ----ssssmmmmooooooootttthhhh _b_o_o_l_e_a_n
  1430.                _B_o_o_l_e_a_n  must  have  one  of  the  forms  accepted   by  |
  1431.                TTTTkkkk____GGGGeeeettttBBBBoooooooolllleeeeaaaannnn  It  indicates whether or not the polygon  |
  1432.                should be drawn with a curved perimeter.   If  so,  the  |
  1433.                outline of the polygon becomes a set of Bezier splines,  |
  1434.                one spline for the first and second line segments,  one  |
  1435.                for  the  second  and  third, and so on.  Straight-line  |
  1436.                segments can be generated  in  a  smoothed  polygon  by  |
  1437.                duplicating the end-points of the desired line segment.  |
  1438.  
  1439.  
  1440.      Page 22                                         (printed 7/23/95)
  1441.  
  1442.  
  1443.  
  1444.  
  1445.  
  1446.  
  1447.      ccccaaaannnnvvvvaaaassss((((nnnn))))                    TTTTkkkk (((( ))))                     ccccaaaannnnvvvvaaaassss((((nnnn))))
  1448.  
  1449.  
  1450.  
  1451.           ----sssspppplllliiiinnnneeeesssstttteeeeppppssss _n_u_m_b_e_r                                                ||
  1452.                Specifies  the degree of smoothness desired for curves:  |
  1453.                each spline  will  be  approximated  with  _n_u_m_b_e_r  line  |
  1454.                segments.   This  option  is ignored unless the ----ssssmmmmooooooootttthhhh  |
  1455.                option is true.
  1456.  
  1457.           ----ssssttttiiiipppppppplllleeee _b_i_t_m_a_p
  1458.                Indicates that  the  polygon  should  be  filled  in  a
  1459.                stipple  pattern;  _b_i_t_m_a_p specifies the stipple pattern
  1460.                to use, in any of the forms accepted  by  TTTTkkkk____GGGGeeeettttBBBBiiiittttmmmmaaaapppp.
  1461.                If  _b_i_t_m_a_p  is  an  empty  string  (the  default), then
  1462.                filling is done in a solid fashion.
  1463.  
  1464.           ----ttttaaaaggggssss _t_a_g_L_i_s_t
  1465.                Specifies a set of tags to apply to the item.   _T_a_g_L_i_s_t  |
  1466.                consists  of  a  list  of  tag names, which replace any  |
  1467.                existing tags for the item.  _T_a_g_L_i_s_t may  be  an  empty  |
  1468.                list.
  1469.  
  1470.  
  1471.      RRRREEEECCCCTTTTAAAANNNNGGGGLLLLEEEE IIIITTTTEEEEMMMMSSSS
  1472.           Items of type rrrreeeeccccttttaaaannnngggglllleeee appear as rectangular regions on the
  1473.           display.   Each  rectangle  may  have an outline, a fill, or
  1474.           both.  Rectangles are created with widget  commands  of  the
  1475.           following form:
  1476.  
  1477.                _p_a_t_h_N_a_m_e ccccrrrreeeeaaaatttteeee rrrreeeeccccttttaaaannnngggglllleeee _x_1 _y_1 _x_2 _y_2 ?_o_p_t_i_o_n _v_a_l_u_e _o_p_t_i_o_n _v_a_l_u_e ...?
  1478.           The arguments _x_1, _y_1, _x_2, and _y_2 give the coordinates of two
  1479.           diagonally  opposite corners of the rectangle (the rectangle
  1480.           will include its upper and left edges but not its  lower  or
  1481.           right edges).  After the coordinates there may be any number
  1482.           of _o_p_t_i_o_n-_v_a_l_u_e  pairs,  each  of  which  sets  one  of  the
  1483.           configuration options for the item.  These same _o_p_t_i_o_n-_v_a_l_u_e
  1484.           pairs may be used in iiiitttteeeemmmmccccoooonnnnffffiiiigggguuuurrrreeee widget commands to change
  1485.           the   item's   configuration.   The  following  options  are
  1486.           supported for rectangles:
  1487.  
  1488.           ----ffffiiiillllllll _c_o_l_o_r
  1489.                Fill the area of the rectangle with _c_o_l_o_r, which may be
  1490.                specified  in any of the forms accepted by TTTTkkkk____GGGGeeeettttCCCCoooolllloooorrrr.
  1491.                If _c_o_l_o_r is an empty string (the  default),  then  then
  1492.                the rectangle will not be filled.
  1493.  
  1494.           ----oooouuuuttttlllliiiinnnneeee _c_o_l_o_r
  1495.                Draw an outline around the edge  of  the  rectangle  in
  1496.                _c_o_l_o_r.   _C_o_l_o_r  may  have  any of the forms accepted by
  1497.                TTTTkkkk____GGGGeeeettttCCCCoooolllloooorrrr.  This option defaults to bbbbllllaaaacccckkkk.  If  _c_o_l_o_r
  1498.                is  an  empty  string then no outline will be drawn for
  1499.                the rectangle.
  1500.  
  1501.           ----ssssttttiiiipppppppplllleeee _b_i_t_m_a_p
  1502.                Indicates that the rectangle  should  be  filled  in  a
  1503.  
  1504.  
  1505.      Page 23                                         (printed 7/23/95)
  1506.  
  1507.  
  1508.  
  1509.  
  1510.  
  1511.  
  1512.      ccccaaaannnnvvvvaaaassss((((nnnn))))                    TTTTkkkk (((( ))))                     ccccaaaannnnvvvvaaaassss((((nnnn))))
  1513.  
  1514.  
  1515.  
  1516.                stipple  pattern;  _b_i_t_m_a_p specifies the stipple pattern
  1517.                to use, in any of the forms accepted  by  TTTTkkkk____GGGGeeeettttBBBBiiiittttmmmmaaaapppp.
  1518.                If  the  ----ffffiiiillllllll  option  hasn't been specified then this
  1519.                option has no effect.  If _b_i_t_m_a_p  is  an  empty  string
  1520.                (the default), then filling is done in a solid fashion.
  1521.  
  1522.           ----ttttaaaaggggssss _t_a_g_L_i_s_t
  1523.                Specifies a set of tags to apply to the item.   _T_a_g_L_i_s_t  |
  1524.                consists  of  a  list  of  tag names, which replace any  |
  1525.                existing tags for the item.  _T_a_g_L_i_s_t may  be  an  empty  |
  1526.                list.
  1527.  
  1528.           ----wwwwiiiiddddtttthhhh _o_u_t_l_i_n_e_W_i_d_t_h
  1529.                _O_u_t_l_i_n_e_W_i_d_t_h specifies the width of the outline  to  be
  1530.                drawn  around  the  rectangle,  in  any  of  the  forms
  1531.                described in the COORDINATES  section  above.   If  the
  1532.                ----oooouuuuttttlllliiiinnnneeee  option hasn't been specified then this option
  1533.                has no effect.  Wide outlines are drawn centered on the  |
  1534.                rectangular  path  defined by _x_1, _y_1, _x_2, and _y_2.  This
  1535.                option defaults to 1.0.
  1536.  
  1537.  
  1538.      TTTTEEEEXXXXTTTT IIIITTTTEEEEMMMMSSSS
  1539.           A text item displays a string of characters on the screen in
  1540.           one   or  more  lines.   Text  items  support  indexing  and
  1541.           selection, along  with  the  following  text-related  canvas
  1542.           widget  commands:   ddddcccchhhhaaaarrrrssss,  ffffooooccccuuuussss,  iiiiccccuuuurrrrssssoooorrrr, iiiinnnnddddeeeexxxx, iiiinnnnsssseeeerrrrtttt,  |
  1543.           sssseeeelllleeeecccctttt.  Text items are created with widget commands of  the
  1544.           following form:
  1545.  
  1546.                _p_a_t_h_N_a_m_e ccccrrrreeeeaaaatttteeee tttteeeexxxxtttt _x _y ?_o_p_t_i_o_n _v_a_l_u_e _o_p_t_i_o_n _v_a_l_u_e ...?
  1547.           The arguments _x and _y specify the  coordinates  of  a  point
  1548.           used  to  position  the text on the display (see the options
  1549.           below for more information on how text is displayed).  After
  1550.           the  coordinates  there  may  be  any number of _o_p_t_i_o_n-_v_a_l_u_e
  1551.           pairs, each of which sets one of the  configuration  options
  1552.           for  the item.  These same _o_p_t_i_o_n-_v_a_l_u_e pairs may be used in
  1553.           iiiitttteeeemmmmccccoooonnnnffffiiiigggguuuurrrreeee  widget  commands   to   change   the   item's
  1554.           configuration.  The following options are supported for text
  1555.           items:
  1556.  
  1557.           ----aaaannnncccchhhhoooorrrr _a_n_c_h_o_r_P_o_s
  1558.                _A_n_c_h_o_r_P_o_s tells how to position the  text  relative  to
  1559.                the positioning point for the text;  it may have any of
  1560.                the forms accepted by TTTTkkkk____GGGGeeeettttAAAAnnnncccchhhhoooorrrr.   For  example,  if
  1561.                _a_n_c_h_o_r_P_o_s  is  cccceeeennnntttteeeerrrr  then the text is centered on the
  1562.                point;  if _a_n_c_h_o_r_P_o_s is nnnn then the text will  be  drawn
  1563.                such  that  the  top  center  point  of the rectangular
  1564.                region occupied by the text will be at the  positioning
  1565.                point.  This option defaults to cccceeeennnntttteeeerrrr.
  1566.  
  1567.  
  1568.  
  1569.      Page 24                                         (printed 7/23/95)
  1570.  
  1571.  
  1572.  
  1573.  
  1574.  
  1575.  
  1576.      ccccaaaannnnvvvvaaaassss((((nnnn))))                    TTTTkkkk (((( ))))                     ccccaaaannnnvvvvaaaassss((((nnnn))))
  1577.  
  1578.  
  1579.  
  1580.           ----ffffiiiillllllll _c_o_l_o_r
  1581.                _C_o_l_o_r specifies a color to use  for  filling  the  text
  1582.                characters;  it  may  have any of the forms accepted by
  1583.                TTTTkkkk____GGGGeeeettttCCCCoooolllloooorrrr.  If this option isn't  specified  then  it
  1584.                defaults to bbbbllllaaaacccckkkk.
  1585.  
  1586.           ----ffffoooonnnntttt _f_o_n_t_N_a_m_e
  1587.                Specifies the font to use for the text item.   _F_o_n_t_N_a_m_e
  1588.                may  be  any string acceptable to TTTTkkkk____GGGGeeeettttFFFFoooonnnnttttSSSSttttrrrruuuucccctttt.  If
  1589.                this option isn't specified, it defaults to  a  system-
  1590.                dependent font.
  1591.  
  1592.           ----jjjjuuuussssttttiiiiffffyyyy _h_o_w
  1593.                Specifies how to justify the text within  its  bounding
  1594.                region.   _H_o_w must be one of the values lllleeeefffftttt, rrrriiiigggghhhhtttt, or
  1595.                cccceeeennnntttteeeerrrr.  This option will only matter if  the  text  is
  1596.                displayed as multiple lines.  If the option is omitted,
  1597.                it defaults to lllleeeefffftttt.
  1598.  
  1599.           ----ssssttttiiiipppppppplllleeee _b_i_t_m_a_p
  1600.                Indicates that the text should be drawn in  a  stippled
  1601.                pattern rather than solid; _b_i_t_m_a_p specifies the stipple
  1602.                pattern to  use,  in  any  of  the  forms  accepted  by
  1603.                TTTTkkkk____GGGGeeeettttBBBBiiiittttmmmmaaaapppp.   If  _b_i_t_m_a_p  is  an  empty  string  (the
  1604.                default) then the text is drawn in a solid fashion.
  1605.  
  1606.           ----ttttaaaaggggssss _t_a_g_L_i_s_t
  1607.                Specifies a set of tags to apply to the item.   _T_a_g_L_i_s_t  |
  1608.                consists  of  a  list  of  tag names, which replace any  |
  1609.                existing tags for the item.  _T_a_g_L_i_s_t may  be  an  empty  |
  1610.                list.
  1611.  
  1612.           ----tttteeeexxxxtttt _s_t_r_i_n_g
  1613.                _S_t_r_i_n_g specifies the characters to be displayed in  the
  1614.                text  item.  Newline characters cause line breaks.  The
  1615.                characters in the item may also  be  changed  with  the
  1616.                iiiinnnnsssseeeerrrrtttt   and   ddddeeeelllleeeetttteeee  widget  commands.   This  option
  1617.                defaults to an empty string.
  1618.  
  1619.           ----wwwwiiiiddddtttthhhh _l_i_n_e_L_e_n_g_t_h
  1620.                Specifies a maximum line length for the text, in any of
  1621.                the  forms  described  in the COORDINATES section abov.
  1622.                If this option is zero (the default) the text is broken
  1623.                into  lines  only  at  newline characters.  However, if
  1624.                this option is non-zero then any  line  that  would  be
  1625.                longer  than  _l_i_n_e_L_e_n_g_t_h  is broken just before a space
  1626.                character to make the  line  shorter  than  _l_i_n_e_L_e_n_g_t_h;
  1627.                the  space character is treated as if it were a newline
  1628.                character.
  1629.  
  1630.  
  1631.      WWWWIIIINNNNDDDDOOOOWWWW IIIITTTTEEEEMMMMSSSS
  1632.  
  1633.  
  1634.  
  1635.      PPPPaaaaggggeeee 22225555                                         ((((pppprrrriiiinnnntttteeeedddd 7777////22223333////99995555))))
  1636.  
  1637.  
  1638.  
  1639.  
  1640.  
  1641.  
  1642.      ccccaaaannnnvvvvaaaassss((((nnnn))))                    TTTTkkkk (((( ))))                     ccccaaaannnnvvvvaaaassss((((nnnn))))
  1643.  
  1644.  
  1645.  
  1646.           Items of  type  wwwwiiiinnnnddddoooowwww  cause  a  particular  window  to  be  |
  1647.           displayed  at  a given position on the canvas.  Window items  |
  1648.           are created with widget commands of the following form:       |
  1649.  
  1650.                _p_a_t_h_N_a_m_e ccccrrrreeeeaaaatttteeee wwwwiiiinnnnddddoooowwww _x _y ?_o_p_t_i_o_n _v_a_l_u_e _o_p_t_i_o_n _v_a_l_u_e ...?|
  1651.           The arguments _x and _y specify the  coordinates  of  a  point  |
  1652.           used  to position the window on the display (see the ----aaaannnncccchhhhoooorrrr  |
  1653.           option  below  for  more  information  on  how  bitmaps  are  |
  1654.           displayed).   After  the coordinates there may be any number  |
  1655.           of _o_p_t_i_o_n-_v_a_l_u_e  pairs,  each  of  which  sets  one  of  the  |
  1656.           configuration options for the item.  These same _o_p_t_i_o_n-_v_a_l_u_e  |
  1657.           pairs may be used in iiiitttteeeemmmmccccoooonnnnffffiiiigggguuuurrrreeee widget commands to change  |
  1658.           the   item's   configuration.   The  following  options  are  |
  1659.           supported for window items:                                   |
  1660.  
  1661.           ----aaaannnncccchhhhoooorrrr _a_n_c_h_o_r_P_o_s                                                  ||
  1662.                _A_n_c_h_o_r_P_o_s  tells how to position the window relative to  |
  1663.                the positioning point for the item;  it may have any of  |
  1664.                the  forms  accepted  by TTTTkkkk____GGGGeeeettttAAAAnnnncccchhhhoooorrrr.  For example, if  |
  1665.                _a_n_c_h_o_r_P_o_s is cccceeeennnntttteeeerrrr then the window is centered on  the  |
  1666.                point;  if _a_n_c_h_o_r_P_o_s is nnnn then the window will be drawn  |
  1667.                so that its top center  point  is  at  the  positioning  |
  1668.                point.  This option defaults to cccceeeennnntttteeeerrrr.                  |
  1669.  
  1670.           ----hhhheeeeiiiigggghhhhtttt _p_i_x_e_l_s                                                     ||
  1671.                Specifies  the  height  to assign to the item's window.  |
  1672.                _P_i_x_e_l_s may have any  of  the  forms  described  in  the  |
  1673.                COORDINATES   section  above.   If  this  option  isn't  |
  1674.                specified, or if it is specified as  an  empty  string,  |
  1675.                then  the  window  is given whatever height it requests  |
  1676.                internally.                                              |
  1677.  
  1678.           ----ttttaaaaggggssss _t_a_g_L_i_s_t                                                      ||
  1679.                Specifies  a set of tags to apply to the item.  _T_a_g_L_i_s_t  |
  1680.                consists of a list of  tag  names,  which  replace  any  |
  1681.                existing  tags  for  the item.  _T_a_g_L_i_s_t may be an empty  |
  1682.                list.                                                    |
  1683.  
  1684.           ----wwwwiiiiddddtttthhhh _p_i_x_e_l_s                                                      ||
  1685.                Specifies  the  width  to  assign to the item's window.  |
  1686.                _P_i_x_e_l_s may have any  of  the  forms  described  in  the  |
  1687.                COORDINATES   section  above.   If  this  option  isn't  |
  1688.                specified, or if it is specified as  an  empty  string,  |
  1689.                then  the  window  is  given whatever width it requests  |
  1690.                internally.                                              |
  1691.  
  1692.           ----wwwwiiiinnnnddddoooowwww _p_a_t_h_N_a_m_e                                                   ||
  1693.                Specifies  the window to associate with this item.  The  |
  1694.                window specified by _p_a_t_h_N_a_m_e must either be a child  of  |
  1695.                the  canvas  widget  or a child of some ancestor of the  |
  1696.                canvas widget.  _P_a_t_h_N_a_m_e may not refer to  a  top-level  |
  1697.                window.
  1698.  
  1699.  
  1700.      Page 26                                         (printed 7/23/95)
  1701.  
  1702.  
  1703.  
  1704.  
  1705.  
  1706.  
  1707.      ccccaaaannnnvvvvaaaassss((((nnnn))))                    TTTTkkkk (((( ))))                     ccccaaaannnnvvvvaaaassss((((nnnn))))
  1708.  
  1709.  
  1710.  
  1711.      AAAAPPPPPPPPLLLLIIIICCCCAAAATTTTIIIIOOOONNNN----DDDDEEEEFFFFIIIINNNNEEEEDDDD IIIITTTTEEEEMMMM TTTTYYYYPPPPEEEESSSS
  1712.           It is possible for individual  applications  to  define  new
  1713.           item  types for canvas widgets using C code.  The interfaces
  1714.           for this mechanism are not presently  documented,  and  it's
  1715.           possible  they may change, but you should be able to see how
  1716.           they work by examining the code for  some  of  the  existing
  1717.           item types.
  1718.  
  1719.  
  1720.      BBBBIIIINNNNDDDDIIIINNNNGGGGSSSS
  1721.           In the current implementation, new canvases  are  not  given
  1722.           any  default  behavior:  you'll have to execute explicit Tcl
  1723.           commands to give the canvas its behavior.
  1724.  
  1725.  
  1726.      CCCCRRRREEEEDDDDIIIITTTTSSSS
  1727.           Tk's canvas widget is a blatant ripoff of  ideas  from  Joel
  1728.           Bartlett's _e_z_d program.  _E_z_d provides structured graphics in
  1729.           a Scheme environment and preceded canvases by a year or two.
  1730.           Its  simple  mechanisms  for placing and animating graphical
  1731.           objects inspired the functions of canvases.
  1732.  
  1733.  
  1734.      KKKKEEEEYYYYWWWWOOOORRRRDDDDSSSS
  1735.           canvas, widget
  1736.  
  1737.  
  1738.  
  1739.  
  1740.  
  1741.  
  1742.  
  1743.  
  1744.  
  1745.  
  1746.  
  1747.  
  1748.  
  1749.  
  1750.  
  1751.  
  1752.  
  1753.  
  1754.  
  1755.  
  1756.  
  1757.  
  1758.  
  1759.  
  1760.  
  1761.  
  1762.  
  1763.  
  1764.  
  1765.  
  1766.      Page 27                                         (printed 7/23/95)
  1767.  
  1768.  
  1769.  
  1770.